git reset コマンド
HEAD が指す位置、インデックス、ワーキングツリーをリセットする。(ファイルの変更が失われるので注意。)
$ git reset --hard
HEAD が指す位置、インデックスをリセットする。
$ git reset --mixed
もしくは、単にオプションなしで実行する。(--mixed
と同じ)
$ git reset
HEAD が指す位置をリセットする。
$ git reset --soft
HEAD の位置はそのまま、インデックスをリセット (ステージングを全てキャンセル) する。
$ git reset @
直前のコミットをなかったことにする。HEAD を一つ前に戻し、ファイルの変更を元に戻す。 (ファイルの変更が全て失われるので注意。)
$ git reset --hard @^
コミットした後の変更をなかったことにし、最後にコミットした直後の状態にする。(ファイルの変更がすべて完全に失われるので注意。)
$ git reset --hard @
参考:
ワーキングツリー、インデックス、HEAD を使いこなす方法 – Qiita
git-reset | Git Documentation [Official]
リモートブランチと一致させる
リモートのブランチの状態に強制的に一致させる。
$ git fetch $ git reset --hard origin/master
参考:
git でリモートのブランチにローカルを強制一致させたい時 – Qiita
ワイルドカードでファイルを指定する
ハイフンを二つ重ねて --
の後にワイルドカードを含むパスを指定する。
$ git reset -- path/to/somewhere/*/*.ext
*
または ?
はパスの区切り /
にも合致する。
参考:
Git Pathspecs and How to Use Them | CSS-Tricks