「git difftool」と一緒に使用した場合、meld ですべてのファイルを一度に開くことは可能ですか?

「git difftool」と一緒に使用した場合、meld ですべてのファイルを一度に開くことは可能ですか?

Meld は一度に多くのファイルを(タブで)読み込むことができます。

ただし、 と一緒に使用するとgit difftool、Git は各ファイルを表示するかどうかを尋ねます (meld を開いたり閉じたりし続ける必要があるため、時間がかかり、煩わしい場合があります)。

タブ内のすべてのファイルを含む meld をロードする方法はありますか?

(このデフォルトが選択された理由は理解しています。差分が非常に大きくなる可能性がありますが、これを実行できる機能は非常に便利だと思います)

答え1

現時点では meld はインストールされていないためコメントできませんが、kdiff3(*) の場合、git difftool --dir-diffコマンドはうまく機能します。たとえば、任意の 2 つのリモート ブランチを比較できます。

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

kdiff3 の場合、変更されたすべてのファイルが 1 つのペインにリストされ、選択したファイルの差分が別のペインに表示されます。meld でも同様のことが行われると考えられます。変更が多数ある場合は、差分が表示されるまでに時間がかかることがあります。

(*)補足 - kdiff の設定:Windowsでは、kdiff3を以下からインストールできます。ここC:\Users\<your username>\.gitconfig. Git は、以下を編集して設定することで kdiff3 を使用するように構成できます(以下の kdiff3 へのパスが正しいと仮定し、既存のセクションがある場合は置き換えます)。

[diff]
    tool = kdiff3

[difftool]
    prompt = false

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

答え2

同様のことは、git diffall の(これは組み込みではないので、リンクをたどってインストールする必要があります)。構文は と同じですgit diffが、difftool をディレクトリ比較モードで開き、変更されたすべてのファイルを 1 つの画面に表示します。それらをダブルクリックすると、タブで比較を開くことができます。

diffall ディレクトリ比較を開いた Meld のスクリーンショット

関連情報