タイトルの通りです。
先に結論を書いておきます。
git reset HEAD^
以上です。これで解決です。
ここからは、読まなくても問題ないです。
タイトルだけだとよくわからないという方は、お読みください。
(経緯)
あるブランチで作業していたら、いったん今の作業を退避させて、別の作業をしたいと思い、
意気揚々とgit commit
し、
git stash
しようとおもったのですが、
$ git stash
No local changes to save
あれ?
あーーー!!そうだ、なぜコミットしてしまったんだ、、、泣
(git stash
はコミットしていない変更がある状態で上記のコマンドを実行すると、変更した部分が退避されます。)
やばいやばい、ここはgit revert HEAD
か?
いや、それだとこれまでに変更した作業が消えてしまう、、、、
このまま作業するしかないのか、というときに、やっぱりありました。
(まあそりゃありますよね)
対処前のコミット履歴
$ git log --pretty=oneline | awk '{print $1}'
376980ec2b9005f4a80862da7d0955bd850d9d57
f892d3ceb3632eb38f102ac9d0ed5b587f71a1e3
冒頭でも記載したgit reset HEAD^
これで解決です。
対処後のコミット履歴
$ git log --pretty=oneline | awk '{print $1}'
f892d3ceb3632eb38f102ac9d0ed5b587f71a1e3
d34480810741248c1bf8f1d8278f590bc61bc37d
はい、一番上のコミットが消えてますね!
そして、変更したファイルもそのままです。add前の状態に戻っています。
同じような境遇にあわれた方の参考になれば嬉しいです。