茶漬けの技術メモ

Golang, Rubyで趣味開発します。テックニュース書いたり。ガジェット触ったり。

git でステージング前のファイルを元に戻す

ファイルをいくつか変更したけど、元に戻したい! という状況になったので、git reset について少し調べた。

結論から言うと、

git reset [何を] [どこまで] という構造で、戻すファイルの状態と、戻したいファイルの状態を指定してやればよかった。

それぞれの書き方は、

[何を]

  • --soft : 最新のコミット
  • --mixed (もしくはオプションなし) : インデックスツリー
  • --hard : ワーキングツリー

[どこまで]

  • HEAD : 最新のコミット
  • HEAD^ : 最新の一つ前のコミット

つまり、ステージング前のファイルを最新のコミットまで戻したい! という時は、
git reset --hard HEAD
でできるし。

コミットをなかったことにしたかったから
git reset --soft HEAD^
でできます!!