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 @

参考:

git reset | WWW クリエイターズ

ワーキングツリー、インデックス、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
こちらのページを参照

参考:

untracked file を削除するためには git clean を使う – Qiita

git-clean | Git Documentation [Official]

記事をシェアする:
タグ:

コメントを残す

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

Protected by reCAPTCHA