【发布时间】:2015-11-27 10:48:48
【问题描述】:
我们正在使用 git 对我们的项目进行版本控制。在 OS X 下开发,我们想使用与开发工具一起分发的 FileMerge 应用程序来显示 git 生成的差异:
如果我们理解正确的话,可以通过git difftool来配置它的调用。
根据不同来源的建议,我们将其添加到我们的全局 git 配置文件中:
[diff]
tool = opendiff
它适用于“逐个文件”差异。但我们更喜欢在工具中一次加载目录差异,命令为git difftool --dir-diff。
在调用directory diff命令时,正确生成了不同文件的列表,但如果我们真的尝试打开一个文件,两边都会显示错误文件不存在。显然,这是因为 opendiff 几乎立即终止,因此让 git 删除发生比较的临时文件夹。
在this answer 之后,我们将这些行添加到我们的全局 git 配置文件中:
[difftool "opendiff"]
cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | cat
但它并没有解决文件不存在的问题(而且opendiff仍然几乎立即返回)。
此用例的正确配置是什么?
【问题讨论】:
-
您是否考虑过使用 Xcode 来查看差异?
-
@trojanfoe 感谢您的建议:您能否提供适当的配置,以便我们快速查看它是否适合我们的工作流程? (另外,出于好奇/自豪,我们真的很想破解这个 opendiff 螺母......)
-
WRT 配置,这只是在 Xcode 中探索 repo 的一个案例;但坦率地说,我自己不会那样做。我坚持使用 SourceTree :)
标签: git macos filemerge opendiff git-difftool