2013-07-26 72 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

相关问题