2

我想知道是否有一种方法可以设置 git 和 diffmerge 以便当您执行以下命令时:git difftooldiffmerge 会弹出并显示所有已修改文件的文件列表,而不是通过命令行循环浏览它们?

我认为它必须是一些设置 ~/.gitconfig 文件。这是我当前的 ~/.gitconfig:

[merge]
    tool = diffmerge
[mergetool "diffmerge"]
    cmd = /Applications/DiffMerge.app/Contents/MacOS/diffmerge --merge --result=$MERGED $LOCAL $BASE $REMOTE
[mergetool]
    keepBackup = false
[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = /Applications/DiffMerge.app/Contents/MacOS/diffmerge $LOCAL $REMOTE

请参阅下面的 Mercurials (HG) 呈现 DiffMerge 的方式。 Mercurial 的 diffmerge 方式

4

4 回答 4

1

Git 在其默认设置中不提供目录差异。请参阅此相关的 SO 问题:

git difftool,立即打开所有差异文件,而不是串行

此外,请参阅 GitHub 上的git diffall项目,该项目将此功能实现为附加脚本。

于 2011-08-15T19:52:25.893 回答
1

请注意,您现在可以(git 1.7.11)比较目录(即在打开 difftool 之前显示所有要比较的文件)

参见“git difftool给目录比较?

换句话说,git 现在确实“固有地处理文件夹差异”。

于 2012-06-18T16:38:18.453 回答
1

您的 中应该有以下几行.gitconfig

[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = /Applications/DiffMerge.app/Contents/MacOS/DiffMerge \"$LOCAL\" \"$REMOTE\"
于 2011-08-15T19:14:52.020 回答
0

看看这里的问题和答案,了解有关使用 diffmerge 设置 git 的详细信息:

OS X 上 git + DiffMerge 的问题

于 2011-08-15T19:12:47.110 回答