1

master我有一个带有公共和develop分支机构的 git 存储库。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

其他开发人员会拉出这两个分支,那么我如何确保他们与重写的历史保持同步呢?

4

1 回答 1

2

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

于 2013-03-06T13:13:55.967 回答