我在SO上阅读了有关git合并和git变基的相关问题,但仍然无法完全理解发生了什么。
以下是我们的分支情况:
MASTER------------------------
\ \
\ \----Feature B---
\ \
\-----Feature A----------\---Feature A+B
我们有两个从主分支(master)不同时间点起源的功能分支(Feature A和Feature B),现在希望将这两个分支合并。我们想要遵循"先变基再合并"(first rebase then merge)的做法,但当我们将Feature A变基到Feature B时,会出现冲突。这是预期的,因为这些功能分支(以及主分支)在同一区域进行了更改。但奇怪的是,在每次运行 "git rebase --continue" 后,同样的冲突都会重新出现。这让我们疯掉了,所以最终我们放弃了变基,使用了“git merge”。结果发现解决这些冲突其实很容易。
我的问题有两个方面:
git rebase
是否适合我们的情况?或者说,变基只适合拉取少量(例如1或2个)的更改吗?- 在幕后发生了什么导致相同的冲突一遍又一遍地出现呢? 我的理解是
rebase
一个接一个地解决冲突,但它比较哪个提交(commit),与什么进行比较?
相关的Stack Overflow帖子:
git add conflicted.file
吗?如果没有,git 就不会注意到修复提交,而git rebase --continue
会重新引发该文件未解决的冲突。 - quetzalcoatlgit rebase continue
命令之前,我们需要先执行add conflicted.file
。 - NeoWangrerere
。 - jub0bs