git reset --hard # removes staged and working directory changes
## !! be very careful with these !!
## you may end up deleting what you don't want to
## read comments and manual.
git clean -f -d # remove untracked
git clean -f -x -d # CAUTION: as above but removes ignored files like config.
git clean -fxd :/ # CAUTION: as above, but cleans untracked and ignored files through the entire repo (without :/, the operation affects only the current directory)
要查看之前将删除的内容,而不实际删除它,请使用-n
标志(这基本上是一个测试运行)。当您准备好实际删除时,请删除-n
标志:
git clean -nfd
我经常使用的最安全的方法:
git clean -fd
根据/docs/git-clean
页面的语法解释:
-f
(别名: --force
)。如果 Git 配置变量 clean.requireForce 未设置为 false,则 git clean 将拒绝删除文件或目录,除非给定 - f,-n 或 - i。除非给出第二个 - f,否则 Git 将拒绝使用. git 子目录或文件删除目录。 -d
。除了未跟踪的文件之外,删除未跟踪的目录。如果未跟踪的目录由不同的 Git 存储库管理,则默认情况下不会删除它。如果您确实要删除此类目录,请使用 - f 选项两次。 正如评论中所提到的,最好做一个git clean -nd
,它会执行干运行并告诉你在实际删除它之前会删除什么。
链接到git clean
doc 页面: https : //git-scm.com/docs/git-clean