2013-04-01 96 views
1

difftool對於查看差異具有很好的用戶友好選項。它的--dir-diff選項 - 允許您通過兩個目錄進行混淆瀏覽。如何使用--dir-diff選項設置git mergetool?

git mergetool有一個非常笨拙和不友好的用戶界面。解決合併衝突必須按git給出的嚴格順序完成。

是否有可能設置類似的選項,如 $ git difftool --dir-diff? 說 $ git mergetool --dir-merge 調用目錄比較例如。的WinMerge? 還是有一個替代解決方案,以提供用戶友好的界面,以解決多個文件合併衝突?

回答

1

有一個簡單的Python程序meld,但任何可視化與三個窗格合併將做。

要將它用於合併分辨率,請安裝它,並在git中的未解析合併時鍵入:$ git mergetool

更多的話題,你可以閱讀:Painless Merge Conflict Resolution in Git

...我發現,可用於執行合併的工具和接口不裝備程序員充分有效地做他們。通常,程序員只需要運行git merge,並希望git能夠處理大部分的hunks。在衝突中的人羣中,人類掌握的常規合併策略是利用周圍的環境來粗略地猜測預期程序應該是什麼樣子。

本文將有望證明,可以有更多的測量過程中合併衝突的決議,其中採取的猜測這種危險操作...

+0

據我所知,meld只是一個合併工具,如p4merge。我不打擾在一個文件中解決衝突。當我合併時,我得到10個衝突文件 –

+2

據我所知,meld只是一個像p4merge這樣的合併工具。我不打擾在一個文件中解決衝突。當我合併時,我得到10個衝突的文件。如果我從git mergetool開始,git將依次調用每個文件衝突,例如, p4merge。我無法選擇首先解決哪個衝突,第二 - 我完全被git所規定的序列所束縛。 –

0

您可以通過在文件列表到git mergetool '

要獲取的未合併的文件列表,你可以使用git ls-files --unmerged $DIR'

總之,做

git mergetool `git ls-files --unmerged $DIR`