我使用 Git 进行版本控制。现在我想在本地计算机上删除存储库中所有未跟踪的文件。
我可以用
git status
列出这些文件,但我怎样才能删除它们呢?
答案1
如果您将其设置为忽略,请使用git clean -xf
。您可以这样做git clean -df
,但这也会删除未跟踪的目录。用于-n
试运行。
答案2
git干净的-F
答案3
用户交互方式:
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
-i 表示交互
-f 表示文件
-d 表示目录
笔记: 添加-n或者--dry-run只是检查它能做什么。
答案4
git clean -f
关于未跟踪的文件和目录,有一个值得一提的微妙之处。如果您有一个未跟踪目录,其中包含未跟踪的文件,git clean -f
则不会删除这些未跟踪的文件。
换句话说,并非总是如此。git clean -f
更好的解释是git clean -f
,它会删除所有未跟踪的文件,这些文件不是在未跟踪的目录中。
git clean -f -d
必须可用于删除未跟踪目录中的未跟踪文件,但似乎没有办法删除所有未跟踪文件没有还删除仅包含未跟踪文件的未跟踪目录。
使用git clean -f -d -n
它来真正了解您想要做什么来将您的工作目录恢复到没有任何未跟踪文件的状态。然后使用git clean -f -d
它来执行此操作。