如何更改我之前提交中合并的分支?

时间:2013-09-11 22:06:03

标签: git version-control merge

我有几个分支机构。他们是掌握,开发和几个功能分支。结构是这样的:

主 - >培养─>特色分支

所以我在功能分支中做了所有事情,然后我合并到了开发分支中,一旦我完成了程序,我通过将develop分支合并到master中来发布最终版本。

我的问题是在我的历史中,我将一个功能分支合并到主分支而不是开发分支。如何编辑该合并,以便合并分支在develop而不是master上完成。

1 个答案:

答案 0 :(得分:0)

我认为您可以完全重写历史记录。

git branch rebase-from ffffff       # 1st commit on master after the wrong merge
git branch last-good rebase-from^^  # commit before the wrong merge on master
git rebase --onto last-good rebase-from master

这将消除master的错误合并提交。 如果旧主服务器上有任何标签,则它们仍将指向操作后的原始提交,因此旧主服务器可能会保持可见状态,直到其上的最后一个标记。如果你想移动标签,你必须非常好地与所有克隆你的回购的人沟通。阅读git help tag关于此主题的讨论。

在开始之前阅读git help rebase

免责声明:我不负责自己或其他人的射击。