我正在使用git和默认的Ubuntu 12.04软件包:
git --version git版本1.7.9.5
我找不到任何可以让git diff打开外部diff工具的机制,它似乎完全忽略了我使用的任何设置。我终于尝试使用
强制它使用我的工具git -c diff.external = / home / john / bin / git-meld diff --ext-diff
但这也不起作用(仍在调用diff --cc)
我也尝试过设置GIT_EXTERNAL_DIFF以及尝试git diftool --tool = meld(它也奇怪地调用diff -cc)。我完全不知道为什么我的diff工具设置被git忽略了。我发现diff -cc输出难以理解,因为我一直在使用GUI diff工具。
我应该尝试更新到更新的git吗?
感谢您的帮助! 约翰
我的git配置设置如下:
git config -l </ p>
user.name = jmicco user.email=parent.bank.app@gmail.com diff.external = /家庭/ JOHN /斌/混帐MELD diff.tool.external = / home / john / bin / git-meld core.editor = emacs core.repositoryformatversion = 0 core.filemode = true core.bare = false core.logallrefupdates =真 remote.origin.fetch = +参/头/ :参/遥控器/来源/ remote.origin.fetch =参/笔记/ :参考文献/笔记/ remote.origin.url = SSH://jmicco@review.gerrithub.io:29418 / jmicco /津贴应用内 remote.origin.pushurl = SSH://jmicco@review.gerrithub.io:29418 / jmicco /津贴应用内 remote.origin.push = HEAD:refs / for / master branch.master.remote = origin branch.master.merge =主 remote.gerrit.url = SSH://jmicco@review.gerrithub.io:29418 / jmicco /津贴应用内 remote.gerrit.fetch = +参/头/ :参/遥控器/格里特/ remote.gerrit.fetch =参/笔记/ :参考文献/笔记/ remote.gerrit.pushurl = SSH://jmicco@review.gerrithub.io:29418 / jmicco /津贴应用内 remote.gerrit.push = HEAD:refs / for / master gerrit.createchangeid = true
答案 0 :(得分:0)
尝试:
GIT_EXTERNAL_DIFF="/bin/echo" git diff
它应该打印如下:
foo.c /tmp/T1NuN5_foo.c 240b63429c3267f8141ee0f33be9d12fc46216d3 100755 foo.c 0000000000000000000000000000000000000000 100755
然后你的git版本一切正常。
diff.external=/home/john/bin/git-meld
是无效的设置。 Git希望外部diff程序能够识别特定于git的参数并生成标准的diff输出。梅尔德不会这样做。
我认为你需要git difftool -t meld