使用OS X FileMerge / opendiff查看git差异,在目录视图中一次加载所有文件

时间:2015-11-27 10:48:48

标签: git macos filemerge opendiff git-difftool

我们是使用git控制我们项目的版本。在OS X下开发,我们希望使用随开发工具一起分发的 FileMerge 应用程序来显示git生成的差异:
如果我们理解正确,可以通过git difftool配置其调用。

根据不同来源的建议,我们在全局git配置文件中添加了这个:

[diff]
    tool = opendiff

适用于"逐个文件" diff文件。但我们希望在工具中同时加载目录差异,命令为git difftool --dir-diff

当调用目录diff命令时,正确生成了不同文件的列表,但如果我们实际尝试打开一个文件,则双方都会显示错误文件不存在。显然,这是因为 opendiff 几乎立即终止,因此让git删除发生比较的临时文件夹。

this answer之后,我们将这些行添加到我们的全局git配置文件中:

[difftool "opendiff"]
    cmd = /usr/bin/opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\" | cat

但它无法解决文件不存在问题( opendiff 几乎立即返回)。

此用例的正确配置是什么?

1 个答案:

答案 0 :(得分:0)

问题是Filemerge正在过滤掉.git目录,这是git存储--dir-diff输出中使用的目录的地方。

在Filemerge中,转到偏好设置>过滤并从.git中删除Files to ignore,它应该有效。