我有麻烦。有树枝master
和feature
. 一百年前master
,feature
有共同的祖先,但从那时起已经过去了 100500 次提交。master
和feature
分支现在非常不同。好的。我花了一整天的时间,终于完成了这个 %#$%# 合并。但是...在一天结束时,我打算将此结果推送到存储库,并注意到我的队友在“主”分支中进行了大约 5 次新提交... $#%#$ 这对我们很重要做rebase以在此提交之前快进我的合并。所以我需要将这 5 个提交合并到我的合并结果中。我已经E
在我的本地仓库上提交(查看方案),这是合并master
到的结果feature
. 由于 C1, ... C5 - 远程上的新提交,我无法将其推送到服务器上feature
。当我在远程有新东西时,当我已经做出改变时,我的标准做法是git pull --rebase
保持一个分支的历史线性。我跑git pull --rebase
了,实际上从 git 那里得到了重新合并的建议。在 C1,...C5 提交中甚至未触及的文件中再次存在很多冲突。我做错了什么?请帮忙。如何获得结果,我已经淹没在第二个计划中?我疯了吗?有可能做吗?
Now:
o--A--o-----...100500 commits....[master]....--o-----------B
\ \
o---...100500 commits....[feature - local repo]...C--E(local repo - epic merge result)
|
o---...100500 commits....[feature - remote repo]..C--C1--C2--C3--C4--C5(remote repo, feature branch - additional 5 commits)
Need to fast-forward E ahead C1, C2,... C5, that were added on remote when I was busy with merge:
o--A--o-----...100500 commits....[master]....--o-----------------------B
\ \
o---...100500 commits....[feature]...--o--C--C1--C2--C3--C4--C5--E(epic merge result)
更新
当我在做git pull --rebase
(留在feature
分支上)时,我注意到 git 试图首先放在 C1、..、C5 (提交到feature
分支的远程)之上,然后是第二个,然后是其他 100500 个master
分支提交。这不是我想要的。我只E
需要在 C1、..C5 之上提交,但不是所有master
分支的提交。我看到这种行为,当我查看gitk --all
between git rebase --continue
, get 冲突,git mergetool
循环时。