git clean 使い方

git clean で削除されるファイルを確認する

「-n」オプションをつけると、実際にはファイルを削除せず、 どのファイルが削除の対象となるか表示される。

git clean -n

追跡されていないファイルをワークツリーから削除する

リポジトリに管理されていないファイルは git clean で まとめて削除することができる。

git clean -n

で削除対象のファイルを確認して

git clean -f

で実際に削除する。

「-f」オプションは git の設定で

clean.requireForce

が false (デフォルト値)になっていても ワークツリーのファイルを削除する。

git clean の対象を制限する

git clean にファイルパスを与えると 削除の対象を制限することができる。

たとえば、削除するファイルをディレクトリ dir 以下のファイルに制限するには

git clean -n dir

とする。

また、シェルではワイルドカードが使えるので、「*.txt」に制限したければ

git clean -n *.txt

とする。

追跡されていないディレクトリを削除する

git clean はリポジトリで管理されていないファイルが削除の対象になるが、 ディレクトリは対象にならない。 ディレクトリを含めるには「-d」オプションを使う。

git clean -d -n

無視するファイルを含めてすべての追跡されていないファイルを削除する

リポジトリで管理されていないファイルと .gitignore などで無視されているファイルの両方を削除するには 「-x」オプションを使う。

git clean -x -n

で確認して

git clean -x -f

で実際に削除する。

無視されているファイルだけを削除する

.gitignore で無視するように指定されているファイルだけを 削除するには「-X」オプションを使う。

git clean -X -n

で確認して

git clean -X -f

としてファイルを実際に削除する。

git clean でパターンで削除対象の例外を指定する

「-e」オプションでパターンを与えると 削除対象となるファイルの例外を指定できる。

たとえば、拡張子が txt のファイルは削除したくない場合は

git clean -n -e "*.txt"

とする。

参考

  • man git-clean

Tags of current page