git difftool diff history 版本,显示这么多windows

git difftool diff history version, show up so many windows

当我使用 git difftool 比较 1 个文件的 2 个历史版本时。我遇到了一个问题。我输入命令后,会显示几百个windows.

> git log --pretty=oneline <file_path>
<commit id0> <name>
<commit id1> <name>
...
<commit id15> <name>
> git diff <commit id1> <commit id5>
<here show difference>
> git difftool -y -x gvimdiff <commit id1> <commit id5>
<then hundreds of widows shows!>

有什么问题?

你的意思是每修改一个文件就显示一个window,而且有几百个文件被修改?如果是这样,这就是 git difftool 的工作方式,但是如果你的 diff 工具能够区分整个目录(如 kdiff3 或 meld 可以做到的),你可以使用 --dir 选项给你一个diff 界面,您可以在其中单击以查看单个文件更改。

git difftool --dir <commit 1> <commit 5>