この回答では、コマンドラインツールを使用して、ブランチを管理するための別のアプローチを採用しています。さまざまなフレーバーの複数のリセットを使用するよりも混乱が少ない場合があります。
Git 1.7.2以降のrevert
コマンドでは、1つのコマンドで複数のコミットを元に戻すことができます。
git revert last-stable..
last-stable
これにより、現在のHEADコミットまで(逆の順序で)、コミットごとに復帰コミットが作成されます。多くの不要なコミットを処理している場合は、1回のコミットでそれらすべてを元に戻すことができます。
git revert -n last-stable..
git commit # edit the message to explain that you are reverting multiple commits
これを他のコマンドと組み合わせて、元に戻すコミットの上に実験的なブランチを再確立する方法は次のとおりです:(
共有ブランチの名前がmaster
)
# Make sure we have the latest shared master
git checkout master
git pull
# Mark the last experimental commit
git branch experimental
# Revert the experimental commits
git revert last-stable.. # optionally use -n and manually commit batched reverts
# Replay the experimental commits on top of the reverted commits
git checkout -B experimental master
git cherry-pick last-stable..experimental@{1}