![我們怎麼才能得到一個 git gui 客戶端來進行正確的圖像差異?](https://rvso.com/image/1575968/%E6%88%91%E5%80%91%E6%80%8E%E9%BA%BC%E6%89%8D%E8%83%BD%E5%BE%97%E5%88%B0%E4%B8%80%E5%80%8B%20git%20gui%20%E5%AE%A2%E6%88%B6%E7%AB%AF%E4%BE%86%E9%80%B2%E8%A1%8C%E6%AD%A3%E7%A2%BA%E7%9A%84%E5%9C%96%E5%83%8F%E5%B7%AE%E7%95%B0%EF%BC%9F.png)
我們剛剛啟動一個專案(基於 Unity),並在 Windows 10 和 MacOS 上使用 git(我們過去使用過 SVN)。我們目前使用 Sourcetree 作為我們的客戶端,但我們也願意在客戶端上使用。我們想要的一件事是一種可視化圖像變化的好方法。例如,在 Sourcetree(使用 Git LFS)中,我們在查看修改後的影像時得到的結果是:
這並不是特別有用。可以設定外部差異工具,並使用 Sourcetree 中的「外部差異」連結。例如,我們可以將TortoiseSVN的TortoiseIDiff設定為外部diff工具,我們可以得到這個diff:
這非常好,但現在我們不能再更改「外部差異」文字了。
另一種選擇是使用 BeyondCompare,它可以使用相同命令比較文字和圖像,並顯示「更改」:
這非常好,雖然它不是免費工具,但這不是問題。但是,我想知道是否有更好的方法?也許是一個 git GUI 客戶端,只處理開箱即用的圖像比較。這似乎是一個相當有用的能力。我最接近的是 Git Tower,它將顯示新的變化。例如,查看與上面相同的更改,這是對圖像的未暫存更改,它將如下所示:
但是如果您正在查看歷史記錄中的更改,它將再次僅顯示 git lfs 文字差異:
最上面的“舊”和“新”標籤,使它看起來有點像試圖顯示其他樣式的差異,但也許它與添加到 .gitattributes 的“diff=lfs”設定混淆了設定項目(我不完全確定是git LFS、Sourcetree 還是Bitbucket 新增了這個項目)。
任何想法將不勝感激。如果該工具不是免費的,那麼它就不是一個阻礙,特別是如果它可以很好地處理這個問題以及所有其他正常的 git 功能。
編輯: 發布這篇文章後,我想到嘗試使用 Perforce Merge(或 P4Merge)作為外部差異工具,這實際上效果相當好。它會自動處理圖像和文字更改,這就是我再次查看相同圖像更改時得到的結果:
這特別酷,因為 P4Merge 是免費的:) 不過,如果有一個客戶端可以在內部處理可視化圖像更改,而不是使用外部工具,那麼聽聽其他人的做法仍然會很有趣。
答案1
編輯: 自從這篇文章以來,我遇到了一個 git 客戶端,叉,這似乎可以處理開箱即用的圖像更改,在我看來,它是最好的git 客戶端之一(我只對其中一些有豐富的經驗,所以可能還有其他客戶端),儘管它不是免費的。
好的,這就是我們所解決的問題,它有效,並且在缺乏其他回應的情況下,我將其作為答案發布:
首先,Mac上的Sourcetree似乎是比較剛剛找到的影像。即使是 .sketch 文件,如果您安裝了 sketch 應用程序,P4Merge 實際上似乎無法處理:
在 Windows 上,我們已經決定安裝 P4Merge(又名 Perforce Helix Merge)作為外部 diff 工具,並在查看二進位檔案的變更時使用它,如上面問題編輯中所述。藝術家們都在 Mac 上工作,因此在大多數情況下他們只需使用 Sourcetree 的二進位差異即可管理。
我仍然對其他想法或解決方案非常感興趣,但我想我會將這個答案發佈在這裡,供其他人關注。