git resetの使い方

前回でgitにおけるHEADが何なのかということも理解してきたのでresetコマンドについて調べました。 addコマンドでステージングしたファイルのステージングを取り消したいとき

git reset HEAD <file>

これでステージから降ろす事ができHEADを。 ちなみに上記のコマンドに”–soft”オプションをつけると何も起きません。何も起きないコマンドがあるなんて… これは

git reset ^HEAD --soft

と使うことで変更には手を加えずHEADを一つ前に戻すときに使うコマンドオプションです。 そして

git reset HEAD --hard

を使うと加えた変更を全て取り消します。 迂闊に”–hard”オプションを実行するととんでもないことに。。