【发布时间】:2012-11-29 06:58:31
【问题描述】:
当我在 branch1-local 中执行 git rebase branch1 时,我会遇到冲突。我解决了冲突,按照 git 的要求执行 git add <conflicted-add>,然后执行 git rebase --continue。之后应用新的提交。新的冲突出现了。但是在同一个文件中又是同样的冲突。我再做一次,git add,git rebase --continue,然后这一切都再次重复,直到我对每个被重新基于的提交重复这个。
为什么 rebase 让我一遍又一遍地重做相同的冲突解决方案?
【问题讨论】:
-
我从未使用过它,我几乎没有阅读过它的文档,但看看
git rerere,AFAIK 用于“记录”冲突解决方案并避免重复它们。查看stackoverflow.com/q/5519244/236871 了解此功能的常见问题。 -
你有没有弄清楚为什么会这样?我让其他人报告了同样的事情,我希望能够重建这样一种情况,即我必须在变基期间多次应用完全相同的冲突解决方案。
-
是的,解决方案是永远不要永远再次使用
rebase。pull、merge和add解决就是您所需要的一切 -
嘿伙计,不要讨厌变基。那东西是金的。
-
Rebase 基本上很烂,因为它改变了历史并创建了与开发中实际存在的任何状态都不对应的提交(因此从未经过测试)。放弃它是一个不错的选择。 :)
标签: git git-rebase git-merge-conflict