使用DiffMerge设置的git模拟使用DiffMerge的Mercurial设置

使用DiffMerge设置的git模拟使用DiffMerge的Mercurial设置,git,mercurial,diffmerge,Git,Mercurial,Diffmerge,我想知道是否有办法设置git和diffmerge,以便在执行以下命令时:git difftooldiffmerge弹出并显示所有修改文件的文件列表,而不是通过命令行循环 我想一定是设置了~/.gitconfig文件。这是我当前的~/.gitconfig: [merge] tool = diffmerge [mergetool "diffmerge"] cmd = /Applications/DiffMerge.app/Contents/MacOS/diffmerge --merg

我想知道是否有办法设置git和diffmerge,以便在执行以下命令时:
git difftool
diffmerge弹出并显示所有修改文件的文件列表,而不是通过命令行循环

我想一定是设置了~/.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
有关Mercurial(HG)呈现DiffMerge的方式,请参见下文。

查看此处的问答,了解有关使用diffmerge设置git的详细信息:


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

[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = /Applications/DiffMerge.app/Contents/MacOS/DiffMerge \"$LOCAL\" \"$REMOTE\"

Git在其默认设置中不提供目录差异。见本相关问题:

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

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

见“


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

我想我要寻找的是Mercurial和DiffMerge允许的“文件夹差异”,出于某种原因git不允许,或者我不知道如何设置。完美。这正是我想要的。太糟糕了,git本身不能处理文件夹差异。如果使用DiffMerge这样的三向合并工具,它将如何工作?@Bryan
git diff
difftool
是关于双向差异的(如和中所述)。该选项不涉及将显示三向差异的
mergetool
,但不使用
difftool
设置(因此忽略新的
difftool
选项
--dir diff
)。