使用git删除非存储库文件?


97

我正在编写Autotools代码,并且在开发过程中会生成大量文件。

无论如何,有没有告诉git从目录中删除不属于存储库的所有文件?

Answers:


178

您可以使用git-clean。此命令将删除未跟踪的文件/目录。默认情况下,它将仅打印将要删除的内容,而不会实际删除它们。

给定-f删除文件的-d标志,以及删除空目录的标志:

git clean -df

同时删除忽略的文件:

git clean -dfx

36
放入一个-x,它和一个新克隆的仓库一样好。
达斯汀

2
我以为他的意思是从git中删除文件,而不是实际的文件系统,哎呀!
安德鲁·马歇尔

该命令git clean本身实际上会删除所有未跟踪的文件-除非Git配置变量clean.requireForce设置为true。如果将其设置为false,则需要使用-ff清洁目录
Adam

6
没有任何参数的最新版本的git将会出错;requireForce默认为true,所以要进行试运行,您需要-n
Seb

1
在@Dustin上进行后续操作: git clean -ix将向您显示它将清除的内容并为您提供选项菜单。我的最爱。
wcochran
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.