日々之迷歩

世の中わからんことだらけ

ITが複雑で難しくなっていく様に翻弄される日々です。微力ながら共著させていただいた「シェル・ワンライナー160本ノック」をよろしくお願い申し上げます。

復活の呪文2

Gitの復活の呪文resetについて。間違ってコミットした場合に使う重要なコマンド。人間はうっかり間違えるのでしっかり理解しておきたい。

  • 一つ前のオブジェクトはHEAD^と表す
  • ワークツリーの変更内容を捨てる場合は--hardオプションを使う

直前のコミットを捨てる

$ git reset HEAD^

直前のコミットを捨てる。同時にワークツリーの変更も捨てる。

$ git reset --hard HEAD^

最新のコミット以後、ワークツリー中の変更内容も取り消す。

これは"git checkout HEAD"と同義と考えていいのかな??

$ git reset --hard HEAD

commitのやり直し

最後のコミットのやり直しをやりたい場合は、commitの--amendオプションを使ってもよい。

$ git commit --amend -a -m 'コミットやり直しバイ'