〜/ .gitconfig中的Mac特定优化

时间:2010-10-18 09:45:05

标签: git macos configuration dvcs

我在Linux上阅读了关于“〜/ .gitconfig”内容的讨论:https://stackoverflow.com/questions/267761/what-does-your-gitconfig-contain

我知道一些Mac特定的优化,例如使用“mate”作为默认编辑器:

[core]
    editor = mate -w

或使用opendiff作为差异编辑器:

[diff]
    external = opendiff

您是否知道我可以在“〜/ .gitconfig”文件中安装/配置的其他Mac特定优化(和/或工具),以获得非常用户友好的git?

3 个答案:

答案 0 :(得分:23)

我使用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

difftool和mergetool仅在1.6.3版本之后可用

答案 1 :(得分:4)

由于git为提交消息重用了相同的临时文件,我建议使用

[core]
    editor = mate -wl1

所以TextMate每次都将光标放在第一行,而不是记住上次的光标位置。

如果您创建以下shell脚本......

#!/bin/sh
#
# ~/bin/git-opendiff.sh
#
/usr/bin/opendiff "$2" "$5" -merge "$1"

...并配置git以将其用作外部差异工具...

$ git config --global diff.external ~/bin/git-opendiff.sh

...你可以使用opendiff进行差异和合并。

答案 2 :(得分:2)

我更喜欢将默认diff命令保留在内部,以便在终端上快速摘要,并使用difftool命令访问更高级的差异程序(我使用MacVim)。我描述了设置过程here。特定于Mac的部分在我的包装脚本中,如果可用的话,我会兼顾性地启动MacVim,然后默认为常规的Vim。当然,如果这是你的偏好,你可以适应使用TextMate。