源分支落后于目标分支n次提交

时间:2019-09-11 12:48:00

标签: git github git-merge

在我的项目中,master分支包含释放状态,而development分支是完成开发的地方。

该项目最初是从SVN导入到master分支中,然后创建了development分支。该项目是使用开发分支进行的。

过了一会儿,我想将开发与master合并,但是发生了冲突。 (我想我可能无意中将了CHANGELOG文件添加到了master分支中)Github显示了类似The source branch is 1 commits behind the target branch的消息。无论如何,我决定将母版合并回开发分支,并通过似乎来解决该问题。我能够将开发分支与母版合并。

不久之后,我想将开发合并到第二个版本,并收到类似的消息The source branch is 2 commits behind the target branch。这似乎表明我之前的操作无法解决问题。

为什么我的开发分支位于master分支后面?我该怎么办 让他们恢复同步?

图看起来像这样 enter image description here

我显然在这里做错了,但我不知道这可能是什么。

2 个答案:

答案 0 :(得分:1)

该图看起来很奇怪:在Merge branch 'development' into 'master'行中,紫色分支已合并到master中。但是红色分支是标记为development的分支。看来其他开发分支已合并到master中。

消息The source branch is 2 commits behind the target branch表示可以从目标(master)分支到达两个提交,而不能从源分支(development)到达两个提交。我猜这些是First prod releaseMerge branch 'development' into 'master'的提交,但是我们需要查看更多的存储库历史才能确定。

答案 1 :(得分:-1)

不建议将master分支合并到development分支。

如果要使开发分支与master分支保持更新,则应使用git rebase

      A---B---C development
     /
D---E---F---G master

运行以下命令之一后:

git rebase master
git rebase master development

您的提交历史记录将是:

              A'--B'--C' development
             /
D---E---F---G master