2011-08-04 73 views
6

有人向我發送由「git format-patch」生成的補丁。Git format-patch viewer?

有沒有可以打開這些.patch文件的gui(在linux上)?

我已經嘗試了很多差異gui,但他們所做的只是比較兩個現有的文件/文件夾。沒有人可以顯示補丁,除了kompare吐出「差異是畸形的。有些行不能被解析,不會顯示在差異視圖。」每次。

回答

4

他們很容易閱讀,但如果你想看到的文件的整個背景下,最好的辦法是用git-am應用它們:

git am foo.patch 
git difftool ORIG_HEAD 

如果你喜歡它,它已經承諾。如果不是:

git reset --hard ORIG_HEAD 
+0

我想這就是爲什麼沒有人在做我在問什麼。由於git非常強大,可以直接在git中執行所有操作。 –

+1

我想我會這樣做:1)創建一個分支,2)應用所有補丁,3)與任何GUI進行審查,4)合併分支或櫻桃挑選一些提交。 –

+0

我想補充一點,審查提交之間的差異,從https://github.com/wmanley/git-meld「git-meld」是驚人的。所以:1)分支2)應用補丁3)git meld commit1..commit2 –

-2

它們應該是人類可讀的文本。在文本編輯器中打開它們。

編輯:或在分支上應用補丁,然後您可以使用通常用於比較分支的任何工具。

編輯2:哦,你已經想到了,沒關係。

+2

當然,但是gui總是很好。例如,一個聰明的人可以告訴你,在一個超長的行上哪個角色發生了變化。 Meld將向你展示兩條線並突出顯示已更改的字符。在文本編輯器中查看補丁程序不會輕易發現這個小小的變化。 –

2

是git的產生僅僅是純文本差異文件的.diff.patch文件。

linux上的大多數文本編輯器應該能夠打開並語法突出顯示diff文件。 Emacs和vim應該能夠毫無問題地查看它們,gedit,kate或者任何其他語法高亮的文本編輯器也應該如此。

如果您不需要語法高亮顯示,less,cat或顯示純文本的任何其他應顯示更改。

+0

也是'.git /。混帳藏匿。 <#> -patch'文件以及... – johnny

18

我已完成,以查看DIFF側由端的工具: https://app.box.com/s/l8rmp281aptq711fqwve

截圖: enter image description here

現在它已更新至v0.4以支持文件列表。

+2

爲什麼這個答案downvoted?我覺得它是一個有用的工具! –

+0

不錯的工具!可下載爲單個.html文件,該文件根據[NoScript](https://noscript.net/)不會嘗試加載任何外部腳本。謝謝! – akavel

+0

我看到你已經創建了2個賬戶。請參閱http://stackoverflow.com/help/merging-accounts,如果你想將它們合併(https://stackoverflow.com/users/4238572/ding-zhaojie,https://stackoverflow.com/users/4238814/丁釗) – Matt