这里是情况:
我们有一个正常工作的主分支(M)
我们创建了master分支并进行了更改(A)
我们将A合并为master(M2)
A遇到了一些问题,所以我们打破了主人
我们还原了母版,导致M3与M
相同我们在A分支上进行了更改,导致A2。
我们希望将A2合并到主服务器中,但由于A2在主服务器(M3)之后有多个提交,因此我们无法合并。
我们基本上想成为A2母版,但是现在我们看到的唯一途径是将在A和A2中所做的所有更改重新制作为新的母版分支。
如果正在使用GitLab,这有助于提供简单的解决方案。
答案 0 :(得分:0)
通常不作任何承诺都是没有问题的。
您可以简单地检出主git checkout master
,
然后将A2合并到主git merge A2
中。如果存在合并冲突,则需要先解决这些冲突,然后再完成合并。
另一种选择是在将A2合并到母版之前,用母版中的更改更新A2。
您将首先检出A2,然后检出git merge master
或git rebase master
,解决冲突(如果有),然后检出母版并将A2(如果需要,则将A3合并)到母版中。
编辑
如果您真的想成为A2母版,则可以通过签出母版git reset --hard A2
并强行推动git push --force-with-lease
来做到这一点。
但是,通常不建议这样做,因为您将更改母版的历史记录。如果您独自在一台计算机上工作,那会没事的,但是如果您是多个开发人员,则可能会导致问题。
编辑2
我从下面的评论中意识到,原始内容与A有所不同
不会包含在合并中。
将还原提交母版或樱桃拣选A还原为母版 解决这个问题。