與“git difftool”一起使用時是否可以同時開啟所有檔案?

與“git difftool”一起使用時是否可以同時開啟所有檔案?

Meld 能夠一次載入多個檔案(在選項卡中)。

然而,當與 一起使用時git difftool,Git 會詢問您是否要查看每個文件(這可能會很慢且煩人,因為必須不斷打開和關閉 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(它不是內建的,您必須點擊該連結並安裝它)。它的語法與 with 類似git diff,但它以目錄比較模式開啟 difftool,在一個螢幕上顯示所有修改的檔案。您可以雙擊它們以在選項卡中開啟比較。

開啟 diffall 目錄比較的 Meld 螢幕截圖

相關內容