与“git difftool”一起使用时,是否可以一次打开所有文件?

与“git difftool”一起使用时,是否可以一次打开所有文件?

Meld 能够一次加载多个文件(以选项卡形式)。

然而当与 一起使用时git difftool,Git 会询问您是否要查看每个文件(这可能会很慢而且很烦人,因为必须不断打开和关闭 meld)。

有没有办法将 meld 与选项卡中的每个文件一起加载?

(我知道为什么选择这个默认设置,差异舱会很大,但是我发现这样做非常方便)

答案1

我目前无法对 meld 进行评论,因为没有安装它,但对于 kdiff3(*),该git difftool --dir-diff命令运行良好,例如比较任意两个远程分支:

git difftool --dir-diff origin/branch1..origin/branch2

对于 kdiff3,这会在一个窗格中列出所有已更改的文件,而所选文件的差异则显示在另一个窗格中 - 可以想象 meld 会做类似的事情。如果有大量更改,则可能需要一段时间才能显示差异。

(*)附注-设置kdiff:在 Windows 下,可以从以下位置安装 kdiff3这里。然后可以通过编辑和设置以下内容将 Git 配置为使用 kdiff3 C:\Users\<your username>\.gitconfig(假设下面的 kdiff3 路径正确,并替换现有部分(如果存在)):-

[diff]
    tool = kdiff3

[difftool]
    prompt = false

[difftool "kdiff3"]
    cmd = "\"C:/Program Files/KDiff3/kdiff3.exe\" \"$LOCAL\" \"$REMOTE\""

答案2

类似的事情也可以通过以下方式实现git-diffall(它不是内置的,您必须点击该链接并安装它)。它的语法与 类似git diff,但它会以目录比较模式打开 difftool,在一个屏幕上显示所有修改过的文件。您可以双击它们以在选项卡中打开比较。

打开 diffall 目录比较的 Meld 屏幕截图

相关内容