使用ケースでGitコマンドを復習してみようかなと思いました。
主にgit resetの用法整理ですが・・・
Contents
ローカルを間違ってaddしてしまい、インデックスへの変更を取り除きたい
git reset ファイル名(ファイル名未指定だと全ファイル)
*正確には git reset --mixed のようです。省略するとmixedになります。
まだコミット内容がある、あるいは間違ってcommitしてしまい、commitだけ取り消したい、インデックスの内容や作業ファイル自体はいじりたくない場合
git reset --soft HEAD^
自分の場合、再修正して
git add && git commit --amend
とやることが多かったですね。(どっちにしろcommitするので)
以前の状態にファイル全部を直したい、過去の特定の日時でシステム全体がどうだったかを見たい時
git reset --hard ハッシュ値
特定のファイルを特定のコミットに戻したい
git checkout ハッシュ値 ファイル
間違って変更してしまったファイル(コミットしていない)の取り消し
git checkout HEAD ファイル
間違ってマージしてしまったものを元に戻したい時
git reset —merge
↑は実質的に git reset --hard HEAD^ と同じ。