我有一个公共master
和develop
分支机构的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
其他开发人员将撤销这两个分支机构,那么我如何确保它们与重写的历史记录保持同步?
答案 0 :(得分:2)
您应该将提交添加到正确的分支,然后将revert添加到master中。 Revert只是为master添加了一个新的提交,它撤消了之前的错误更改。它可能在历史上看起来有些混乱,但对于那些已经取消这些更新的人来说,它并没有破坏任何东西。