Git
English ▾ トピック ▾ 最新バージョン ▾ git-clean は 2.45.0 で最後に更新されました

名前

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

概要

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

説明

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

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

オプションの <pathspec>... 引数が指定されている場合、pathspec に一致するパスのみが影響を受けます。

オプション

-d

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

-f
--force

Git 構成変数 clean.requireForce が false に設定されていない場合、git clean は -f が指定されない限り、ファイルまたはディレクトリの削除を拒否します。Git は、2 番目の -f が指定されない限り、追跡されていないネストされた 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 つだけを選択してリターンを入力できます。次のようにします。

    *** 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,3,4,5,7,9 を選択するには「2-5 7,9」を指定します。範囲の 2 番目の数字が省略された場合、残りのすべての項目が選択されます。たとえば、リストから 7,8,9 を選択するには「7-」を指定します。すべて選択するには * を指定できます。また、フィルタリングされた結果に満足したら、メインメニューに戻るために ENTER (空) を押します。

各項目を質問

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

quit

これにより、クリーンアップを実行せずに終了できます。

help

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

構成

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

clean.requireForce

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

参照

GIT

git[1] スイートの一部

scroll-to-top