Git:合并后的rebase只会出现冲突

3

我有以下情况

  • 创建了一个名为“dev”的分支
  • 在“dev”上工作
  • 在“master”上工作

在某个时候,我想将我的“dev”分支的工作合并到“master”分支中

$> git checkout master
$> git merge dev

没问题,但是现在我想继续在'dev'分支上工作。然而,'master'分支有一些提交尚未合并到'dev',所以我尝试进行变基。

$> git checkout dev
$> git rebase master

这个不起作用,而且只会造成冲突。解决这些冲突也无济于事,因为解决后又会出现更多的冲突。 是否有关于此的解释?

2个回答

1
有点不清楚你想要实现什么。一开始你写道:
在某个时候,我想将我的工作从“dev”合并到主分支
然后你又写道:
但是,“master”有一些尚未在“dev”中的提交,所以我试图进行rebase。
如果你想将来自dev的工作合并到master中,你应该:
1. git checkout master 2. git rebase dev 3. 如有需要解决冲突 4. git rebase --continue 然后你可以使用git checkout dev回到dev分支。
如果你想用另一种方式做,只需交换名称即可。我个人认为运行git rebase --continue是解决你问题的关键。
PS:在这种情况下,考虑运行git merge而不是rebase。

谢谢回复。我先将“dev”合并到“master”,然后尝试对“dev”进行变基(请查看我的问题,因为我已经更新了它)。 - Jeanluca Scaljeri
@jthill 如果你看一下这里的第三张图片,他们执行了git checkout master; git rebase dev,在这种情况下,他们的实验 = 我们的主分支;他们的主分支 = 我们的开发分支,他们主分支(C4)的工作是实验分支的一部分,我的意思是,在rebase之后,你可以确信从你rebase到的工作已经包含在我们的HEAD中。 - Jan Vorcak
我当时在想什么啊。当然会成功的。我只是进行了一个微小的修改来取消踩,对此我深表歉意。 - jthill

0

在将dev合并到master后,唯一合理的方法是通过将master合并到dev而不是将dev基于master进行变基来获取来自master的更改。

变基通常仅用于尚未合并到任何分支的分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接