【发布时间】:2010-07-07 11:28:53
【问题描述】:
背景:this question。 git apply <patchfile> 只是重新创建文件但不提交历史记录,在这种情况下这是可取的。 git-apply 是否有任何开关可以这样做?或者有没有办法将补丁文件转换为git-am 兼容文件? (目前git-am报“补丁格式检测失败”)
【问题讨论】:
-
如果您有一系列要应用的提交,通常最好创建一个包,或者简单地获取和变基,而不是尝试从
log -p重新创建提交输出。 -
@Charles 是否也可以用于单个文件的历史记录?这就是上面提到的问题,所以我只是尝试
git log -p <filename> > <patchfile>来获取补丁... -
git apply与git diff比log -p更相反,所以如果不手动拆分输出,我认为这是不可能的(或者不容易,无论如何)。如果您可以在两个存储库之间获得一个捆绑包,那么我认为操纵原始分支以应用于单个文件(例如使用filter-branch)然后重新设置它比摆弄基于文本的补丁要容易得多。跨度>
标签: git history commit patch git-log