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
pathspec | Git Documentation [Official]
How can I use a wildcard in git pathspec? – Stack Overflow
トラッキングしていないファイルを削除する
トラッキングしていないディレクトリを一括削除する。
$ git clean -fd
こちらのページを参照
参考: