2014-02-20 77 views
61

我想通過Web界面從GitHub獲得一次提交(我們稱之爲${SHA})。如何從GitHub下載單個commit-diff?

例如,像:

$ git clone http://github.com/foo/bar 
$ cd bar 
$ git format-path -o .. ${SHA}~1..${SHA} 
$ cd .. 
$ rm -rf bar 

...但不必複製整個存儲庫(在這個問題回購是大)。顯然,GitHub可以通過web界面顯示給定提交的差異,但我怎樣才能將它提取到(統一)diff文件中(理想情況下,提交消息保持不變)?

+1

[下載Github上拉請求作爲統一差異]的可能重複( http://chackoverflow.com/questions/6188591/download-github-pull-request-as-unified-diff) – ChillarAnand

+0

@ChillarAnand:不,它不是。您的鏈接是關於拉取請求的,而不是針對單個提交的差異。 – usr1234567

+0

@ usr1234567問題可以合併,但 – Antonio

回答

105

好的,我自己找到了答案。

添加.patch(或.diff)到提交的URL將提供一個很好的補丁:

https://github.com/foo/bar/commit/${SHA}.patch 

由於Ten Things You Didn't Know Git And GitHub Could Do ...

+5

如果你喜歡這種格式,你也可以使用'.diff'。 – einnocent

+0

@einnocent是的,這就是爲什麼答案是「.patch(或.diff)」 –