日本語 ▾ トピック ▾ 最新バージョン ▾ git-clean は 2.45.0 で最終更新されました

名前

git-clean - 作業ツリーから追跡されていないファイルを削除する

概要

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>…​]

説明

現在のディレクトリから開始して、バージョン管理下にないファイルを再帰的に削除することで、作業ツリーをクリーンアップします。

通常、Gitに認識されていないファイルのみが削除されますが、-x オプションを指定すると、無視されたファイルも削除されます。これは、例えばすべてのビルド生成物を削除するのに役立ちます。

オプションの <pathspec>... 引数が与えられた場合、そのパススペックに一致するパスのみが影響を受けます。

オプション

-d

通常、<pathspec> が指定されていない場合、git clean は削除しすぎないように、追跡されていないディレクトリには再帰的に入りません。-d を指定すると、そのようなディレクトリにも再帰的に入るようになります。<pathspec> が指定されている場合、-d は関係ありません。指定されたパスに一致するすべての追跡されていないファイル (--force で言及されているネストされたGitディレクトリの例外を除く) が削除されます。

-f
--force

Git の設定変数 clean.requireForcefalse に設定されていない場合、git clean-f が与えられない限り、ファイルまたはディレクトリの削除を拒否します。2回目の -f が与えられない限り、Git は追跡されていないネストされた Git リポジトリ (.git サブディレクトリを持つディレクトリ) の変更を拒否します。

-i
--interactive

何が行われるかを表示し、ファイルを対話的にクリーンアップします。詳細については「対話モード」を参照してください。このモードは対話式に動作することで独自の安全保護を提供するため、設定変数 clean.requireForce は無視されます。

-n
--dry-run

実際には何も削除せず、何が行われるかを表示するだけです。何も削除されないため、設定変数 clean.requireForce は無視されます。

-q
--quiet

静かに実行し、エラーのみを報告し、正常に削除されたファイルは報告しません。

-e <pattern>
--exclude=<pattern>

標準の無視ルール (「gitignore[5]」を参照) に加えて、指定された除外パターンを使用します。

-x

標準の無視ルール (「gitignore[5]」を参照) を使用せず、コマンドラインの -e オプションで与えられた無視ルールは引き続き使用します。これにより、ビルド生成物を含むすべての追跡されていないファイルを削除できます。これは (場合によっては git restore または git reset と組み合わせて) クリーンなビルドをテストするためのきれいな作業ディレクトリを作成するのに使用できます。

-X

Git によって無視されたファイルのみを削除します。これは、すべてを一から再構築しつつ、手動で作成したファイルを残す場合に役立つことがあります。

対話モード

このコマンドが対話モードに入ると、クリーンアップされるファイルとディレクトリを表示し、対話コマンドループに入ります。

コマンドループは利用可能なサブコマンドのリストを表示し、「What now> 」というプロンプトを出します。一般的に、プロンプトが単一の > で終わる場合、与えられた選択肢の中から1つだけを選んでEnterキーを押すことができます。例えば

    *** Commands ***
	1: clean                2: filter by pattern    3: select by numbers
	4: ask each             5: quit                 6: help
    What now> 1

選択肢が一意である限り、上記の c または clean と入力することもできます。

メインコマンドループには6つのサブコマンドがあります。

clean

ファイルとディレクトリのクリーンアップを開始し、その後終了します。

パターンでフィルター

これにより削除されるファイルとディレクトリが表示され、「Input ignore patterns>>」というプロンプトが表示されます。スペース区切りのパターンを入力して、削除対象からファイルやディレクトリを除外できます。例えば、「*.c *.h」は「.c」と「.h」で終わるファイルを削除対象から除外します。フィルターされた結果に満足したら、ENTERキー (空入力) を押してメインメニューに戻ります。

番号で選択

これにより削除されるファイルとディレクトリが表示され、「Select items to delete>>」というプロンプトが表示されます。このようにプロンプトが二重の >> で終わる場合、空白またはコンマで連結して複数の選択を行うことができます。範囲を指定することもできます。例:「2-5 7,9」はリストから2,3,4,5,7,9を選択します。範囲の2番目の番号が省略された場合、残りのすべての項目が選択されます。例:「7-」はリストから7,8,9を選択します。* と入力してすべてを選択することもできます。また、フィルターされた結果に満足したら、ENTERキー (空入力) を押してメインメニューに戻ります。

それぞれに尋ねる

これによりクリーンアップが開始され、項目を削除するには1つずつ確認する必要があります。この操作は上記の2つの操作ほど効率的ではないことに注意してください。

quit

これはクリーンアップを行わずに終了することを許可します。

help

対話型 git-clean の簡単な使用法を表示します。

設定

このセクションのこの行より下のすべての内容は、git-config[1] ドキュメントから選択的に含まれています。内容はそちらにあるものと同じです

clean.requireForce

-f が与えられない限り、git-clean がファイルの削除を拒否するようにするブール値。デフォルトは true です。

関連項目

GIT

git[1] スイートの一部

scroll-to-top