当重试中止的rebase时,Git合并冲突标记丢失了?

3

我已经完成了一半的分支重置git pull --rebase origin master。在重置过程中,我解决了几个合并冲突,然后使用git add FILEgit rebase --continue添加它们。

然而,由于我不满意自己的进展,我决定重新开始。我使用git rebase --abort来结束重置。

现在,当我执行git pull --rebase origin master时,我注意到所有合并冲突标记都消失了,我认为第一次尝试解决合并冲突的结果仍然存在。

如果我再次开始重置,那么我应该看到与第一次开始重置时相同的合并冲突吗?如果是这样,那么我如何回到这个状态?

P.S

我正在使用Pycharm,这可能太有帮助了吗?

更新:我用Atom和VIM检查了一下,发现问题是一样的,所以这不是IDE /编辑器的问题。


5
我本来会期望看到相同的冲突,但你在rebase的步骤上是否和实际发生冲突的步骤一样呢? - Tim Biegeleisen
3
这可能是由于git rerere造成的,你的git配置文件中有没有rerere.enabled?你可以尝试使用其中一个命令手动让它忘记设置,例如git rerere cleargit rerere forget <path>,详情请参阅手册页面... - filbranden
1个回答

3

在@filbranden的帮助下,我成功解决了这个问题:

  1. git pull --rebase origin master
  2. git rerere forget filepath
    Updated preimage for 'filepath'`
    Forgot resolution for 'filepath`
    
  3. git rebase --abort

这将清除我已经完成的所有保存冲突解决方案。当我再次尝试使用git pull --rebase origin master时,我回到了重新设置的起点,这正是我想要的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接