Gitで新規ファイルをステージから外す方法
Gitで間違えて新規ファイルをステージしてしまったことはありませんか?
例えば、git statusで以下のような状態になったとします。
Changes to be committed:
new file: sample.txt
新規ファイルをステージから外す
以下のコマンドを実行します。
git restore --staged sample.txt
これでステージから外れます。
まだファイルは残っている
git restore --stagedはステージから外すだけなので、ファイル自体は削除されません。
git status
Untracked files:
sample.txt
このように未追跡ファイルになります。
ファイル自体も削除したい場合
未追跡ファイルを削除するには
git clean -f
ディレクトリもまとめて削除したい場合は
git clean -fd
を実行します。
まとめ
| やりたいこと | コマンド |
|---|---|
| ステージから外す | git restore --staged <file> |
| 未追跡ファイルを削除 | git clean -f |
| 未追跡ディレクトリも削除 | git clean -fd |
Gitを使い始めたばかりの頃は、ステージと作業ツリーの違いが分かりにくいですが、この3つを覚えておくと困る場面が減ります。