我們怎麼才能得到一個 git gui 客戶端來進行正確的圖像差異?

我們怎麼才能得到一個 git gui 客戶端來進行正確的圖像差異?

我們剛剛啟動一個專案(基於 Unity),並在 Windows 10 和 MacOS 上使用 git(我們過去使用過 SVN)。我們目前使用 Sourcetree 作為我們的客戶端,但我們也願意在客戶端上使用。我們想要的一件事是一種可視化圖像變化的好方法。例如,在 Sourcetree(使用 Git LFS)中,我們在查看修改後的影像時得到的結果是:

Sourcetree 中的影像差異

這並不是特別有用。可以設定外部差異工具,並使用 Sourcetree 中的「外部差異」連結。例如,我們可以將TortoiseSVN的TortoiseIDiff設定為外部diff工具,我們可以得到這個diff:

使用 TortoiseIDiff 進行影像差異

這非常好,但現在我們不能再更改「外部差異」文字了。

另一種選擇是使用 BeyondCompare,它可以使用相同命令比較文字和圖像,並顯示「更改」:

使用 BeyondCompare 進行影像差異

這非常好,雖然它不是免費工具,但這不是問題。但是,我想知道是否有更好的方法?也許是一個 git GUI 客戶端,只處理開箱即用的圖像比較。這似乎是一個相當有用的能力。我最接近的是 Git Tower,它將顯示新的變化。例如,查看與上面相同的更改,這是對圖像的未暫存更改,它將如下所示:

與 Git Tower 的影像差異(未暫存)

但是如果您正在查看歷史記錄中的更改,它將再次僅顯示 git lfs 文字差異:

與 Git Tower 的圖像差異(來自歷史)

最上面的“舊”和“新”標籤,使它看起來有點像試圖顯示其他樣式的差異,但也許它與添加到 .gitattributes 的“diff=lfs”設定混淆了設定項目(我不完全確定是git LFS、Sourcetree 還是Bitbucket 新增了這個項目)。

任何想法將不勝感激。如果該工具不是免費的,那麼它就不是一個阻礙,特別是如果它可以很好地處理這個問題以及所有其他正常的 git 功能。

編輯: 發布這篇文章後,我想到嘗試使用 Perforce Merge(或 P4Merge)作為外部差異工具,這實際上效果相當好。它會自動處理圖像和文字更改,這就是我再次查看相同圖像更改時得到的結果:

P4Merge 中的影像差異

這特別酷,因為 P4Merge 是免費的:) 不過,如果有一個客戶端可以在內部處理可視化圖像更改,而不是使用外部工具,那麼聽聽其他人的做法仍然會很有趣。

答案1

編輯: 自從這篇文章以來,我遇到了一個 git 客戶端,,這似乎可以處理開箱即用的圖像更改,在我看來,它是最好的git 客戶端之一(我只對其中一些有豐富的經驗,所以可能還有其他客戶端),儘管它不是免費的。


好的,這就是我們所解決的問題,它有效,並且在缺乏其他回應的情況下,我將其作為答案發布:

首先,Mac上的Sourcetree似乎是比較剛剛找到的影像。即使是 .sketch 文件,如果您安裝了 sketch 應用程序,P4Merge 實際上似乎無法處理:

在此輸入影像描述

在 Windows 上,我們已經決定安裝 P4Merge(又名 Perforce Helix Merge)作為外部 diff 工具,並在查看二進位檔案的變更時使用它,如上面問題編輯中所述。藝術家們都在 Mac 上工作,因此在大多數情況下他們只需使用 Sourcetree 的二進位差異即可管理。

我仍然對其他想法或解決方案非常感興趣,但我想我會將這個答案發佈在這裡,供其他人關注。

相關內容