2021年10月26日 更新
どうも、クラゲジュニアです。
今回は、git管理されているディレクトで特定コミットのタイミングに戻りたい時に使用する、git reset
コマンドのオプションhard・soft
についてです。
ディレクトリ構成
Git
表示
上記のシチュレーションでコミットメッセージeveningに戻って違いを比べてみます。
この状態でgit status
をして確認してみましょう。
変更が何もないことが確認できます。
git reset --hard ${ハッシュ値}
表示上は、eveningのコミット時の状態に戻っています。
git status
で確認すると以下のようになっています。
logを確認すると・・
上記のことからhardは、選択したコミット時と同じ状態にresetされているのが確認できたかと思います。
git reset --soft ${ハッシュ値}
表示上が元に戻っていないのが確認できるかと思います。
statusには、コマンドを打つ前とコマンドを打った後の差分がcommitされた変更として残っています。
log
これらのことから、変更を完全に消してしまいたい場合にはhard
を使いましょう。
差分を残しておきたい場合には、soft
を使用しましょう。
以上です。