Git でコミット(とかマージ)を無かったことにする方法といえば、「git revert」なのですが、使い方にちょっとひとクセ(?)あったのでメモっておきます。 「git revert」は正確には、commit を無かったことにするのではなく、対象の commit の変更を相殺するような差分commitを自動で生成するというものです。 コミットを文字通り無かったことにする(コミットログから特定のコミットだけ抜き出す=履歴が残らないようにする)には、「git reset --hard」「git rebase」「git cherry-pick」「git push -f」などを駆使すればできるのですが、いくつかコミットやマージが重ねられた後にそれをするのは、あまり現実的とは言えませんよね。 そこで、「git revert」の登場です。 実践 例えば、以下のような commit があったとします。