情况如下:
我们有一个工作硕士(M)
我们创建了一个分支,并进行了更改(A)
我们把A合并成硕士(M2)
A出了点问题,所以我们打破了师父
我们恢复了主程序,从而产生了与M相同的M3
我们改变了一个分支,导致了A2。
我们希望将A2合并到主服务器中,但是我们无法合并,因为A2是主(M3)后面的几个提交。
我们基本上想要成为A2大师,但是现在我们看到的唯一的前进之路是将我们在A和A2中所做的所有更改重新变成一个新的分支。
如果这有助于提供一个简单的解决方案,我们将使用GitLab。
发布于 2020-02-07 21:54:55
通常情况下,几次提交并不是一个问题。您可以简单地签出主git checkout master,然后将A2合并到主git merge A2中。如果存在合并冲突,则需要在完成合并之前解决这些冲突。
另一种选择是在将A2合并到主服务器之前使用主服务器中的更改更新它。首先签出A2,然后签出git merge master或git rebase master,如果存在冲突,则修复冲突,然后签出主服务器并将A2 (或A3,如果愿意)合并到主服务器中。
编辑
如果您真的想要成为A2主服务器,您可以通过签出主、git reset --hard A2和强制推送git push --force-with-lease来做到这一点。然而,这通常是不鼓励的,因为你将改变大师的历史。如果你一个人在一台电脑上工作,我会说没关系,但如果你是几个开发人员,这可能会引起问题。
编辑2
我从下面的评论中意识到,来自A的原始更改不会包含在合并中。
要么恢复还原提交母版,要么将A转到主服务器来修复这个问题。
https://stackoverflow.com/questions/60121487
复制相似问题