Git. Распределённая система контроля версий. Была создана Линусом Торвальдсом для работы над ядром Linux. Следствие - широкое распространение в узких кругах, мощь и сложность.
Установить Git можно из портов MacPorts или Fink. Но этот метод чем дальше, тем меньше мне нравится - за нужным пакетом тянется длинный хвост зависимостей, часть из которых может заменять (в плане очерёдности в $PATH) штатные программы. Когда я вижу попытку установки perl5.8 при том, что в Mac OS X 10.6.2 уже и так стоит perl5.10, на меня нападает странное чувство, вынуждающее прервать установку. Или вспомним недавнюю загадку Кирилла Воронина про rsync, когда проблема с копированием данных была вызвана тем, что вместо штатного rsync вызывался rsync из портов без поддержки resource forks.
Поэтому я отбросил мысль о MacPorts и начал искать альтернативу. Нашёл проект ”Git for OS X” на Google Code.
Если вам нужен Git, то дальнейшие объяснения излишни, расписывать, что выбирать при запуске инсталлятора смысла нет. Я поставил версию git-1.7.0-intel-leopard.dmg. Git ставится в /usr/local/git. После установки запустил скрипт “setup git PATH for non-terminal programs.sh”, находящийся в dmg, который добавляет переменную окружения $PATH с путём к git в файл ~/.MacOSX/environment.plist для корректной работы неконсольных программ.
Сконфигурируем git по рекомендациям из статьи ”Simple Install of Git on Leopard”:
git config --global merge.tool opendiff # Ignore Carp git config --global core.excludesfile ~/.gitignore touch "$HOME/.gitignore" echo '.DS_Store' >> "$HOME/.gitignore" echo '._*' >> "$HOME/.gitignore" echo '.svn' >> "$HOME/.gitignore" echo '.hg' >> "$HOME/.gitignore" # Shortcuts git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout git config --global alias.br branch # Colors? YES! git config --global color.ui auto # Personal Setup git config --global user.name "Your Name" git config --global user.email your_email@your-domain.com # Setup Bash Completion mkdir -p "$HOME/bin" export PATH="$HOME/bin:$PATH" echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bash_profile cp "/usr/local/git/contrib/completion/git-completion.bash" ~/bin echo 'source ~/bin/git-completion.bash' >> ~/.bash_profile # Add the current Git Branch to your Bash Prompt echo "PS1='[\u@\h \w\$(__git_ps1 \" (%s)\")]\\$ '" >> ~/.bash_profile
Начать изучение Git можно с бесплатной книги ”The Git Community Book” или с книги O’Reilly ”Version Control with Git, 1st Edition”.