git:如何应用冲突补丁?

git:如何应用冲突补丁?,git,Git,我有一个补丁,我想应用到我的本地树。它是使用git格式补丁生成的。它包含一些冲突,因此我使用以下方法应用它: $git apply--3way mypatch.patch 这样,当我应用它时,我可以手动打开无法合并的文件。 但是,一旦我这样做了,我想“完成”应用补丁-我的意思是,我想告诉git“好的,我已经完成了手动解决冲突-现在继续使用提交消息应用这个补丁,因为它在补丁中,并且在补丁中指定了作者” 然而,一旦出现合并冲突,git就会放弃,把一切都留给您。有没有办法告诉git,“嘿,对于这个提交

我有一个补丁,我想应用到我的本地树。它是使用git格式补丁生成的。它包含一些冲突,因此我使用以下方法应用它:

$git apply--3way mypatch.patch

这样,当我应用它时,我可以手动打开无法合并的文件。 但是,一旦我这样做了,我想“完成”应用补丁-我的意思是,我想告诉git“好的,我已经完成了手动解决冲突-现在继续使用提交消息应用这个补丁,因为它在补丁中,并且在补丁中指定了作者”


然而,一旦出现合并冲突,git就会放弃,把一切都留给您。有没有办法告诉git,“嘿,对于这个提交,请从这个补丁中获取提交消息和作者详细信息”?或者告诉git,“您可以继续正常的补丁应用程序过程”

git am
开始,而不是
git apply
。然后使用
git-am——在您到达的点上继续

比较长的 git apply
命令应用补丁,但从不提交。因此,无论它是否因冲突而停止,它的工作现在已经完成:即使没有冲突,它也会停止。它不会进行提交,因此不会使用来自任何修补程序的作者身份和消息

git am
(Apply Mailbox)命令应用一个或多个以“邮箱格式”(包括由
git format patch
生成的修补程序)存储的修补程序,然后进行提交:每个修补程序提交一次。作者和邮件来自邮箱格式修补程序

git-am
因冲突而停止,并且您执行合并时,
git-am
仍处于挂起状态。您可以使用
git commit
完成此特定修补程序,或者使用
git am--continue
恢复整个挂起的
git am
序列