应用补丁失败时,Git rebase缺少非冲突文件

时间:2018-03-08 17:02:28

标签: git github rebase git-rebase git-merge-conflict

进入一个特殊的问题,可以在一台MacBook Pro上重现(我们称之为坏的),一台Windows使用msysgit,而不是另一台MacBook Pro(我们称之为好的)。

重新设置了一个主人的功能分支,只有1次提交主人。功能分支有1个新提交,因此您的标准rebase工作流程。

在好的MacBook上,您可以使用标准git pull --rebase origin mastergit rebase -i origin/master。一切顺利进入冲突阶段。 git status将显示没有绿色冲突的文件,以及必须以红色解决的文件。您解决冲突并执行git rebase --continue,再次检查历史记录/日志,一切都很干净。

在糟糕的MacBook和Windows机器上,我们开始使用rebase,但是当我们进入冲突解决步骤时,我们只看到需要解决冲突的文件,并且不需要解析的文件不存在< / strong>即可。如果我们解决冲突解决方案,新的重新定义的功能分支将丢失所有没有冲突的文件。

经过调查,我们注意到补丁未能应用。消息是:

the copy of the patch that failed is found in .git/rebase-apply/patch

因此,我们检查补丁文件,它确实有一个完整的更改列表。

我们尝试用git rerere forget .来解决解析历史记录,认为开发者之前可能已经解决了一些冲突问题,但同样的事情发生了。

在好的MacBook上,这条消息没有发生,一切都很好。

我们正在调查git am但未找到任何线索。错误消息中也没有其他提示。

0 个答案:

没有答案