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 ставится в /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 Carpgit config --global core.excludesfile ~/.gitignoretouch               "$HOME/.gitignore"echo '.DS_Store' >> "$HOME/.gitignore"echo '._*'       >> "$HOME/.gitignore"echo '.svn'      >> "$HOME/.gitignore"echo '.hg'       >> "$HOME/.gitignore"# Shortcutsgit config --global alias.st statusgit config --global alias.ci commitgit config --global alias.co checkoutgit config --global alias.br branch# Colors? YES!git config --global color.ui auto# Personal Setupgit config --global user.name "Your Name"git config --global user.email [email protected]# Setup Bash Completionmkdir -p "$HOME/bin"export PATH="$HOME/bin:$PATH"echo 'export PATH="$HOME/bin:$PATH"'               >> ~/.bash_profilecp "/usr/local/git/contrib/completion/git-completion.bash" ~/binecho 'source ~/bin/git-completion.bash'            >> ~/.bash_profile# Add the current Git Branch to your Bash Promptecho "PS1='[\[email protected]\h \w\$(__git_ps1 \" (%s)\")]\\$ '" >> ~/.bash_profile

Начать изучение Git можно с бесплатной книги “The Git Community Book” или с книги O’Reilly “Version Control with Git, 1st Edition“.