gitで非リポジトリファイルを削除しますか?


97

私はAutotoolsコードを書いており、開発の過程で大量のファイルが生成されます。

リポジトリに含まれていないディレクトリからすべてのファイルを削除するようにgitに指示する方法はありますか?

回答:


178

git-cleanを使用できます。このコマンドは、追跡されないファイル/ディレクトリを削除します。デフォルトでは、実際には削除せずに、削除されたものだけを印刷します。

与えられた-fファイルを削除するためのフラグ、および-d空のディレクトリを削除するフラグを同様に:

git clean -df

無視されたファイルも削除:

git clean -dfx

36
a -xを投入すると、クローンしたてのレポと同じくらい良いです。
ダスティン

2
私は彼が実際のファイルシステムではなく、gitからファイルを削除することを意味していると思いました!
アンドリューマーシャル

コマンドgit clean自体は、Git構成変数clean.requireForceがtrueに設定されている場合を除いて、実際にはすべての追跡されていないファイルを削除します。falseに設定されている場合、ディレクトリをクリーニングするには-ffが必要です
Adam

6
gitの最近のバージョンは、パラメーターなしではエラーになります。requireForceのデフォルトはtrueなので、ドライランを実行するには-n
Seb

1
@Dustinをフォローアップすると、git clean -ix何がクリーンになるかが表示され 、オプションのメニューが表示されます。お気に入り。
wcochran
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.