我试图在Windows8.1系统上使用KDiff3作为Git中的一个扩展工具,我承认我对Git非常陌生。当我尝试将分阶段的文件与提交的文件进行比较时,我无法让KDiff3打开,我对如何处理它感到困惑。我在网上找到了将KDiff3设置为合并工具的指导,并且我猜到我需要做一些类似的事情来将它设置为一个diff工具(我还没有找到足够明确的指南来帮助新手设置diff工具,这就是我来这里的原因)。在下载和安装KDiff3之后,我就是这样做的:
git config --global diff.tool kdiff3
git config --global difftool.kdiff3.cmd '"C:\\Program Files\\KDiff3\\kdiff3" $BASE $LOCAL $REMOTE -o $MERGED'吉特没有对我说任何错误,所以也许这是对的?我完全承认我不懂这里的语法!总之,当我尝试这个的时候:
git diff HEAD我明白了:
error: cannot spawn kdiff3: No such file or directory
external diff died, stopping at MyFile.R我环顾四周,看到了一些关于当$PATH设置不正确时有类似问题的人的参考资料。我真的不知道$PATH是什么(如果有人能启发我,我会非常感激),但我为KDiff3 (C:\ProgramFilesKDiff3\kidff3 3)提供的路径肯定位于我的计算机上的kdiff3.exe。有什么建议吗?
提前谢谢,就像我说的,我是Git的新手,所以如果我没有提供一些关键的信息,请告诉我。
发布于 2014-12-03 04:07:13
我建议您放弃第二行信任,因为Git已经定义了如何使用kdiff3。(你可以看看你安装的Git Bash。例如,在我的路径中,我可以找到C:\Program (x86)\Git\libexec\git-core\mergetools\kdiff3 3,这是kdiff3的配置文件)。唯一需要做的就是将kdiff3放在PATH变量中。
只使用你的第一行:
git config --global diff.tool kdiff3但不是你的第二句:
#### comment out this line:
# git config --global difftool.kdiff3.cmd '"C:\\Program Files\\KDiff3\\kdiff3" $BASE $LOCAL $REMOTE -o $MERGED'若要修复已添加的配置,请尝试在GIT BASH下编辑.gitconfig。
vim ~/.gitconfig找到[difftool "kdiff3"]部分,并删除该节下的cmd=行。您也可以删除整个部分(也可以删除包含[difftool "kdiff3"]的行)。
然后将您的路径添加到kdiff3:
PATH=$PATH:"/c/Program Files/KDiff3"双引号是需要的,因为“程序”和“文件”之间的空间。
这条路径行可以添加到您的.bashrc或.bash_profile中,这取决于您如何启动bash.
-更新
更正:因为Git Bash使用Windows系统定义的环境变量'PATH‘+ Windows用户定义的环境变量'PATH’。上面的路径更改更难(使用.bashrc等)。只需更改Windows环境变量,如此链接和/或此链接
发布于 2017-02-06 09:44:05
更改GitBash中的第二行:
git config --global diff.tool kdiff3
git config --global difftool.kdiff3.path 'c:\Program Files\KDiff3\kdiff3.exe'全球.gitconfig中的共振部分如下所示:
[diff]
tool = kdiff3
[difftool "kdiff3"]
path = c:\\Program Files\\KDiff3\\kdiff3.exe 为了避免混乱:
现在,git difftool HEAD发布了kdiff3。
但是git diff HEAD仍然显示了GitBash的变化。
https://stackoverflow.com/questions/27262781
复制相似问题