git:rebase(合并后)只给出冲突

时间:2013-11-28 21:07:43

标签: git merge conflict rebase

我有以下情况

  • 创建了一个分支'dev'
  • 致力于'dev'
  • 致力于'master'

在某些时候,我想将我的作品从'dev'合并到主

$> git checkout master
$> git merge dev

这没问题,但现在我想继续在分支'dev'工作。但是,'master'有一些尚未进入'dev'的提交,所以我试图改变。

$> git checkout dev
$> git rebase master

这不起作用,只会产生冲突。解决冲突是行不通的,因为之后会有更多的冲突。 对此有解释吗?

2 个答案:

答案 0 :(得分:1)

有点不清楚你想要实现什么。一开始你写道:

  

在某些时候,我想将我的作品从'dev'合并到主

然后你写道:

  

然而,'master'有一些尚未加入'dev'的提交,所以我试图改变。

如果您希望从dev开始工作到master,那么

  1. git checkout master
  2. git rebase dev
  3. 根据需要解决冲突
  4. git rebase --continue
  5. 然后,您可以使用dev

    返回git checkout dev分支

    如果您想以其他方式执行此操作,只需切换名称即可 我个人认为运行git rebase --continue是解决问题的关键。

    PS:在这种情况下,请尝试考虑运行git merge,而不是重新定位。

答案 1 :(得分:0)

在将dev合并到master之后,将master的更改恢复为dev的唯一合理方法是将合并 master转换为dev,而不是在master上重新设置dev。

重新定位通常仅用于尚未合并到任何内容的分支上。