2013-07-26 110 views
1

我導出一個diff文件,使用'git diff HEAD^ HEAD > a.diff'。 所以,我想用另一個源代碼的.diff文件補丁。 我使用命令'patch -p0 < a.diff',但它不起作用。說,「找不到文件」。 所以,我的問題是:如何將a.diff文件路徑到源代碼? 有人可以幫我解決這個問題嗎? 非常感謝。如何將git .diff文件合併到源代碼中?

+0

以防萬一,你確定你的使用情況是不屬於' git cherry-pick'? – kostix

回答

3

git差異輸出要求刪除路徑中的第一個/。這應該工作:

patch -p1 < a.diff 

同時嘗試使用git format-patchgit am(保留日誌如果應用在其他的git目錄補丁):

rm -rf *.patch 
git format-patch -1 
git am *.patch 
rm -rf *.patch 
+0

「patch」的'-p 1'命令行選項不會刪除'/'字符,而是從修補程序文件中的每個路徑名中刪除單個(最左邊的)路徑*組件*,組件是目錄名稱,可能會耦合與路徑分隔符。 – kostix

+0

謝謝,我已經更新了我的答案。 – cforbish

相關問題