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

おそらく、コミットを正しいブランチに追加してから、マスターで元に戻す必要があります。Revertは、マスターに新しいコミットを追加するだけで、以前の間違った変更を元に戻します。歴史上少し厄介に見えるかもしれませんが、すでにそれらの更新をプルした人​​にとっては何も壊れません。

于 2013-03-06T13:13:55.967 に答える