Макинтош оптимизация в ~/.gitconfig
Я прочитал эту дискуссию о содержании "~/.gitconfig" в Linux: https://stackoverflow.com/info/267761/what-does-your-gitconfig-contain
Я знаю некоторые специфичные для Mac оптимизации, такие как использование "mate" в качестве редактора по умолчанию:
[core]
editor = mate -w
или используя opendiff в качестве редактора diff:
[diff]
external = opendiff
Знаете ли вы другие конкретные оптимизации Mac (и/или инструменты), которые я мог установить/настроить в файле ~ ~.gitconfig, чтобы получить очень удобный git?
Ответы
Ответ 1
Я предпочитаю держать стандартную команду diff
внутренней, для кратких сводок на терминале и обращаться к более продвинутым программам diff (я использую MacVim), используя комманду difftool
. Я описываю процедуру настройки здесь. Часть, относящаяся к Mac, находится в моей оболочке script, где я факультативно запускаю MacVim, если она доступна, а затем по умолчанию используется обычный Vim. Вы можете приспособиться к использованию TextMate, конечно, если это ваши предпочтения.
Ответ 2
Я использую opendiff и textmate в качестве внешних инструментов для git. Вы можете настроить их, выполнив следующие команды в bash:
#TextMate as the default editor
git config --global core.editor "mate -w"
#Opendiff (FileMerge) to resolve merge conflicts:
git config --global merge.tool opendiff
#Opendiff (FileMerge) as diff tool
git config --global diff.tool opendiff
В качестве альтернативы вы можете настроить файл gitconfig, добавив следующее:
[diff]
tool = opendiff
[merge]
tool = opendiff
[core]
editor = mate -w
diffftool и mergetool доступны только после версии 1.6.3
Ответ 3
Так как git повторно использует один и тот же временный файл для сообщений фиксации, я рекомендую использовать
[core]
editor = mate -wl1
поэтому TextMate помещает курсор в первую строку каждый раз, вместо того чтобы помнить позицию курсора с последнего раза.
И если вы создадите следующую оболочку script...
#!/bin/sh
#
# ~/bin/git-opendiff.sh
#
/usr/bin/opendiff "$2" "$5" -merge "$1"
... и сконфигурируйте git, чтобы использовать его как инструмент внешней проверки...
$ git config --global diff.external ~/bin/git-opendiff.sh
... вы можете использовать opendiff для diff и merges.