我希望将某些提交从一个存储库移到另一个存储库,并且我想保留原始的提交,日期和提交消息以及所有内容,而不是将整个东西都挤在一起。 git format-patch master
告诉我,每次提交都制作一个.patch文件,但是我在应用它们时遇到了一些麻烦(我被困在第一次提交中)。
git apply <patch file name>
干净地应用更改,没有冲突或其他任何东西,但是当然它不会创建我想要的提交。
git am --committer-date-is-author-date -3 < <patch file name>
失败,没有明确的解决方法:
Applying: <original commit message>
error: patch failed: war/WEB-INF/web.xml:162
error: war/WEB-INF/web.xml: patch does not apply
<more files listed, all of them ones that I've modified in the commit; newly created files are not listed>
error: Did you hand edit your patch?
It does not apply to blobs recorded in its index.
hint: Use 'git am --show-current-patch' to see the failed patch
Using index info to reconstruct a base tree...
M war/WEB-INF/web.xml
Patch failed at 0001 <commit message>
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
运行此命令后,我的工作副本或暂存中没有任何更改。我本来希望获得带有合并冲突样式标记(<<<<<<<<
和>>>>>>>>
)的已更改文件,因为我使用了-3
标志,但我什至没有。
是否可以运行git am
来获取所需的信息,还是应该使用git apply
并进行新的提交?