2011-02-23 33 views
13

我做了重订在我的分支foo为什么Git记住并使用来自中止rebase的冲突解决而不询问我?

git rebase master 

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

git rebase --abort 

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

git rebase master 

当混帐打第一次冲突,它击中了第一次,它会列出文件中的冲突,就像之前一样。但不是标记与<<<<<等的冲突,它只是在我第一次解决冲突后显示文件处于其状态。这很有趣,它有这个功能......但我实际上想要以不同的方式解决其中一个冲突,所以我不想让它记住并重新应用。

究竟发生了什么,我可以关闭它吗?

+6

文件的版本你有rerere启用? http://progit.org/2010/03/08/rerere.html – MForster 2011-02-23 23:25:46

+0

啊哈 - 是的,我在几年前就把它翻了,忘记了。看起来好像没有一个标志可以关闭特定的'git rebase'调用,太糟糕了。 – 2011-02-25 20:50:41

+0

@admitruk不确定创建标签'rerere'是合适的 – CharlesB 2011-04-21 08:57:51

回答

8

您可以使用rerere的“忘记”功能擦除记忆的冲突解决方案。

+3

谢谢...你必须使用... git rerere忘记[文件名] _before_你运行上面的命令,如果你有rerere打开。 – Clintm 2014-03-07 01:35:02

+0

由于某种原因忘记不为我工作*(不知道为什么,它没有报告任何错误)*,忘记*所有*:'rm -rf .git/rr-cache' - 不理想,但可以方便,特别是因为我找不到一个好办法忘记一切。 – ideasman42 2017-12-11 08:17:10

9

使用git checkout --conflict=merge -- your_file得到与冲突