Git:如何删除所有未跟踪的文件?

Rof*_*ion 48 git

我正在使用 Git 进行版本控制。现在我想在我的本地机器上删除存储库中未跟踪的所有文件。

我可以用

git status
Run Code Online (Sandbox Code Playgroud)

列出这些文件,但如何删除所有文件?

小智 64

如果您将其忽略,请使用git clean -xf. 您可以这样做,git clean -df但这也会删除未跟踪的目录。使用-n的干式运行。

请参阅清理未跟踪

  • `-xf` 将删除 *** 和 *** 被忽略的文件,这可能不是你想要的。使用 `-nf` 并小心处理。请参阅:http://stackoverflow.com/questions/61212/how-do-i-remove-local-untracked-files-from-my-current-git-branch (10认同)
  • -x 忽略忽略.. (3认同)
  • 请记住,这可能会删除您的环境/IDE 文件夹(例如 .vagrant 或 .idea (phpstorm)) (2认同)

use*_*686 8

git清理-f

  • 添加该命令的含义以使此答案自包含可能是有意义的。 (9认同)

小智 5

用户交互方式:

git clean -i -fd

Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Run Code Online (Sandbox Code Playgroud)

-i 用于交互式
-f 用于文件
-d 用于目录

注意: 添加-n--dry-run以检查它会做什么。