所以我有分支主和RC分支。当我从主人向RC发出拉取请求时,显示出很多冲突。我首先尝试在RC上进行反叛(本地),并且没有出现反叛冲突。
当我尝试在本地合并时,我也遇到了冲突。为什么会这样?什么可以使rebase工作没有冲突但不合并?
答案 0 :(得分:1)
我认为最可能的原因是,从合并到另一个分支的一个分支中挑选了一个提交。如果rebase检测到它将要重写的提交应用与新基础中已包含的提交相同的文本更改,则它会跳过该提交。 (关于这种解释可能有些不准确,但它大致正确......)
所以,如果你有
x -- A -- B -- C <--(master)
\
D -- A' -- E <--(branch)
其中A'
对D
对A
所做的x
进行了相同的更改(可能是樱桃挑选,或者重新加入,或者压缩合并......) ,那么
git rebase branch master
将重写D
和E
,跳过A'
。但
git checkout master
git merge branch
不会查看单个提交,因此A'
中的更改可能会导致冲突。