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



我在尝试使用git difftool(在这种情况下,mac上的opendiff)来可视化最新git提交中的差异时遇到了麻烦。我不想为每一对已更改的文件启动opendiff,我只想启动一个opendiff实例来比较整个目录,所以我遵循了这个答案的建议,即使用--dir-diff。最后我使用了这个命令:

git difftool HEAD^ HEAD --dir-diff

问题是,当我启动这个命令时,opendiff显示有0个差异(即使使用正常的diff将显示多个文件中的差异)。这是怎么呢如何正确使用渐变工具?

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

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

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

相关内容

  • 没有找到相关文章