如何将Git配置为使用不同的工具来区别.gitconfig文件?
我的.gitconfig中有以下内容:
[diff]
tool = git-chdiff #also tried /bin/git-chdiff
它不起作用;它只是打开常规的命令行diff。当我这样做的时候
export GIT_EXTERNAL_DIFF=git-chdiff
然后git diff
将打开外部差异工具(所以我知道外部比较工具脚本工作得很好)。我的diff工具的.gitconfig配置有问题吗?
发布于 2011-06-20 22:18:33
Git提供了一系列预先配置好的“开箱即用”的差异工具(kdiff3、kompare、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge、diffuse、opendiff、p4merge和araxis),还允许您指定自己的内容。要使用一个预配置的差异工具(例如,"vimdiff"),需要将以下代码行添加到~/.gitconfig
中
[diff]
tool = vimdiff
现在,您将能够运行"git difftool“并使用您选择的工具。
另一方面,指定您自己的difftool需要更多的工作,请参见How do I view 'git diff' output with my preferred diff tool/ viewer?
发布于 2013-11-21 22:06:27
执行此操作的另一种方法(从命令行):
git config --global diff.tool tkdiff
git config --global merge.tool tkdiff
git config --global --add difftool.prompt false
前两行将difftool和mergetool设置为tkdiff
-根据您的偏好进行更改。第三行禁用了恼人的提示符,因此每当您点击git difftool
时,它都会自动启动difftool。
发布于 2011-06-20 22:24:02
下面是我的~/.gitconfig中配置diff和merge工具的部分。我喜欢SourceGear的diffmerge。(事实上,我非常非常喜欢它)。
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = "diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$REMOTE\""
trustExitCode = false
[diff]
tool = diffmerge
[difftool "diffmerge"]
cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
因此,您将在[difftool "diffmerge"]
行中定义一个名为"diffmerge“的工具。然后,我在[diff] tool =
部分中将工具"diffmerge“设置为默认值。
很明显,我的路径中有"diffmerge“命令,这里。否则,我需要给出可执行文件的完整路径。
https://stackoverflow.com/questions/6412516
复制相似问题