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

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です