为什么Git会在不问我的情况下记住并使用来自流产的rebase的冲突解决方案?

Joh*_*hir 16 git conflict rebase

我在我的分支上做了一个改变 foo

git rebase master
Run Code Online (Sandbox Code Playgroud)

一些冲突解决方案,然后决定我不想这样做,并中止.

git rebase --abort
Run Code Online (Sandbox Code Playgroud)

所有分支日志历史看起来都很正常.现在我想再次开始相同的过程.

git rebase master
Run Code Online (Sandbox Code Playgroud)

当git遇到它第一次遇到的第一个冲突时,它会像以前一样列出冲突的文件.但不是用<<<<<等标记冲突,它只是在我第一次解决冲突后才显示文件处于其状态.有趣的是它有这个功能......但我实际上想要以不同的方式解决其中一个冲突,所以我不希望它记住并重新应用.

到底发生了什么,我能把它关掉吗?

kni*_*ttl 10

用于git checkout --conflict=merge -- your_file获取具有冲突的文件版本


Ada*_*ruk 9

您可以使用rerere的"忘记"功能来清除记住的冲突解决方案.

  • 谢谢......你必须使用... git rerere忘记[filename] _before_如果你已经开启了rerere你运行上面的命令. (3认同)
  • 由于某种原因,忘记了对我不起作用((不知道为什么,它没有报告任何错误))*,忘记了一切*:`rm -rf .git / rr-cache`-不理想,但可以方便使用,尤其是因为我找不到一种忘掉一切的好方法。 (2认同)