使用git difftool查看整个目录中的差异

时间:2014-06-29 13:44:08

标签: git diff difftool opendiff

我在尝试使用git difftool(在本例中为opendiff for mac)时可以看到最新git提交中的差异。我不想为已更改的每对文件启动opendiff,我只想启动一个opendiff实例来比较整个目录,所以我已经按照this answer的建议进行了操作。是使用--dir-diff。我最终使用了这个命令:

git difftool HEAD^ HEAD --dir-diff

问题在于,当我启动此命令时,opendiff表示存在0个差异(即使使用普通差异将显示多个文件中的差异)。发生了什么事?如何正确使用difftool?

1 个答案:

答案 0 :(得分:1)

文件会立即删除,因为在启动FileMerge(GUI工具)后,opendiff(命令行工具)会直接退出。您需要编写一个简短的包装脚本,将左侧和右侧文件夹复制到(另一个)临时位置,然后使用这些位置启动opendiff。

编辑:您可以配置一个自定义difftool,它将直接启动FileMerge并等待它退出。将其添加到〜/ .gitconfig

[difftool "fm"]
cmd = /Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge -left \"$LOCAL\" -right \"$REMOTE\"
path =
相关问题