0

我们正在使用 git 对我们的项目进行版本控制。在 OS X 下开发,我们想使用开发工具分发的FileMerge应用程序来显示 git 生成的差异:
如果我们理解正确,可以通过git difftool.


根据来自不同来源的建议,我们将其添加到我们的全局 git 配置文件中:

[diff]
    tool = opendiff

它适用于“逐个文件”差异。但是我们更喜欢在工具中一次加载目录差异,命令是git difftool --dir-diff.

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

按照这个答案,我们将这些行添加到我们的全局 git 配置文件中:

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

但它并没有解决文件不存在的问题(而且opendiff仍然几乎立即返回)。

这个用例的正确配置是什么?

4

1 回答 1

0

问题是 Filemerge 正在过滤掉.git目录,这是 git 存储--dir-diff.

在 Filemerge 中,转到 Preferences > Filters 并从中删除.gitFiles to ignore它应该可以工作。

于 2017-12-22T18:49:56.530 回答