移动git将public master提交到现有分支

时间:2013-03-06 13:04:43

标签: git branching-and-merging rebase

我有一个公共masterdevelop分支机构的git repo。当我应该致力于master时,我承诺develop。我了解我可以使用以下命令将提交从master移动到develop

git checkout develop
git cherry-pick 0123455678 # whatever the hash is I want to move
git checkout master
git rebase -i HEAD~2
git push -f

但这与我对变基的理解相冲突,特别是

  

不要重新推送已推送到公共存储库的提交。

http://git-scm.com/book/en/Git-Branching-Rebasing#The-Perils-of-Rebasing

其他开发人员将撤销这两个分支机构,那么我如何确保它们与重写的历史记录保持同步?

1 个答案:

答案 0 :(得分:2)

您应该将提交添加到正确的分支,然后将revert添加到master中。 Revert只是为master添加了一个新的提交,它撤消了之前的错误更改。它可能在历史上看起来有些混乱,但对于那些已经取消这些更新的人来说,它并没有破坏任何东西。