在我的项目中,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分支后面?我该怎么办 让他们恢复同步?
我显然在这里做错了,但我不知道这可能是什么。
答案 0 :(得分:1)
该图看起来很奇怪:在Merge branch 'development' into 'master'
行中,紫色分支已合并到master中。但是红色分支是标记为development
的分支。看来其他开发分支已合并到master中。
消息The source branch is 2 commits behind the target branch
表示可以从目标(master
)分支到达两个提交,而不能从源分支(development
)到达两个提交。我猜这些是First prod release
和Merge 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