現在のコードを前のコミットに戻し、すべての変更を保持したいことがあります。前のコミットと現在の HEAD の間に新しいコードをコミットしたい場合。
まず、元に戻したいコミットを指定して 'revert-branch' という新しいブランチを作成します。この例では、前のコミットに戻してそのコミットで変更を加えたいとします。
git branch revert-branch HEAD^
次に、新しいブランチに切り替えます。
git checkout revert-branch
トリックを伝授しましょう。masterから新しいブランチのHEADにソフトリストアします。ソフトリストアはHEADの状態を変更しますが、作業ツリーには影響しません。
git reset --soft master
git status を実行すると、元に戻したいコミットの変更が表示されます。今回は 'second.txt' の追加を取り消しますが、もっと複雑な変更になる可能性もあります。
$ git status
# On branch revert-branch
# Changes to be committed:
# (use to unstage)
#
# deleted: second.txt
#
では、この『逆転』を提出しましょう。
git commit -m "reverted to initial state."





