git:撤消所有工作目录更改,包括新文件
如何删除工作目录中的所有更改,包括新的未跟踪文件。 我知道git checkout -f
是这样做的,但它不会删除自上次提交后创建的未跟踪的新文件。
有人有一个想法如何做到这一点?
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)
最经常使用的最安全的方法:
git clean -fd
对于所有未分档的文件使用:
git checkout -- .
这个.
最后很重要。
你可以替换.
用一个子目录名来清除你的项目的特定子目录。 这个问题在这里具体解决。