Git: 未追跡ファイルの削除
最終更新
未追跡ファイルとは、Git がまだ管理していないファイルのことです(ビルド出力、ログ、一時ファイルなど)。git clean はそれらを作業ツリーから削除します。コミットされたことのないファイルを完全に削除するため、-f で実際に実行する前に、必ず -n(ドライラン)で先にプレビューしてください。
これらをターミナルプレイグラウンドで試してみましょう。ブラウザ内の本物のシェルで、インストール不要です。
構文
| Command | What it does |
|---|---|
git clean -n | ドライラン: 削除されるものを一覧表示する |
git clean -f | 未追跡ファイルを削除する(force フラグが必須) |
git clean -fd | 未追跡ディレクトリも削除する |
git clean -fx | 無視されたファイルも削除する |
git clean -fdx | 未追跡のすべて、ディレクトリと無視されたファイルを削除する |
安全なワークフロー
先にプレビューしてから削除することで、何も予期せず削除されないようにします。
| Step | Command | Result |
|---|---|---|
| 1 | git clean -nd | 削除されるすべてのファイルとフォルダを確認する |
| 2 | git clean -fd | リストを確認したうえでそれらを削除する |
Git 未追跡ファイルの削除に関するよくある質問
Git で未追跡ファイルを削除するには?
git clean を使います。まず git clean -n でプレビューして削除されるものを一覧表示し、次に git clean -f を実行して実際に未追跡ファイルを削除します。clean は設計上破壊的なので、-f(force)フラグが必須です。未追跡ディレクトリも削除するには?
-d フラグを追加します。git clean -fd は未追跡ファイルと未追跡ディレクトリを削除します。単なる git clean -f はファイルのみを削除し、空の未追跡フォルダは残します。git clean は無視されたファイルを削除しますか?
デフォルトでは削除しません。
.gitignore に一致するファイルはそのまま残ります。それらを含めるには -x を追加し(git clean -fx)、無視されたファイルやディレクトリを含む未追跡のすべてを消去するには -fdx を使います。-x は、残しておきたいローカル設定やビルドキャッシュを削除してしまう可能性があるため、慎重に使ってください。git clean を元に戻せますか?
いいえ。
git clean はコミットされたことのないファイルを完全に削除するため、Git の履歴には復元できるものが何もありません。だからこそ、削除する前に必ず git clean -n を先に実行してリストを確認すべきです。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルで
git clean を実行できます。インストール不要です。Coddy の無料インタラクティブ Git コースでも、作業ツリーの管理を段階的に学べます。