有时候环境有问题,我们需要回到最初的、未经过任何修改、没有任何未跟踪容纳的状态。
这时候,clean就显得非常干净利落,它可以删除所有无关的内容。
git clean 选项描述
-n 查看将删除的内容,并不执行删除
-f 删除未跟踪文件
-d 删除未跟踪目录
-x 同时删除.gitignore中忽略的内容
组合命令:
git reset --hard HEAD
git clean -xfd
git reset --hard HEAD:重置到当前的HEAD,但是还有新增的文件,或者编译生产的目标文件存在。
git clean -xfd :清除未被跟踪的文件、文件夹,包括.gitignore中我们声明被忽略的内容
如果要保存现场
clean会清除所有修改。
如果要保存当前的内容,则可以使用stash:
git stash save -a
此时所有修改和未被跟踪的文件都会被保存在临时区,达到一样干净的效果。
不过,这些文件可以被恢复:
git stash pop
当然,如果文件太多,而又不需要的话,使用clean就好。毕竟stash既要占用执行时间又要占用硬盘空间。