Git 管轄下にないファイルを削除する
git status コマンドを実行したときに Untracked files の欄に表示されるファイルは、Git の管轄下にないファイル(追跡されていないファイル)です。
これらのファイルをすべて削除するには、対象のディレクトリ内で以下のコマンドを実行します。
$ git clean -f
空になったディレクトリも同時に削除するには、さらに -d オプションを指定します。
$ git clean -df
git clean で削除したファイルは元に戻せないので、このコマンドは慎重に実行する必要があります。
☝️ なぜいちいち -f オプションが必要なのか?
make clean とタイプしようとして、間違えて git clean とタイプしてしまうと大変なことになるので、git clean コマンドは -f オプションを指定しないとエラーで止まるようになっているらしいです。
$ git clean
fatal: clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean
git clean でどのファイルが削除されるか確認する
実際に git clean -f を実行する前に、どのファイルが消されるのかを git clean -n で確認することができます。
$ git clean -n
同様に、空のディレクトリを消す -d オプションを同時に指定した場合に、どのファイルとディレクトリが削除されるかは以下のように調べることができます。
$ git clean -nd