git操作中clean
和rm
是比较容易混淆的两个操作,本文介绍它们之间的区别及使用场景。
git clean
git clean
操作针对的是当前仓库中未被跟踪的文件,即未通过git add
操作过的文件。
常用操作方式
当我们需要剔除仓库中误添加的文件、中间过程生成的文件时,可以这样做:
# 1. git clean -n 看一下将要删除的文件是哪些
$ git clean -n ./
# 2. git clean -f 如果确定执行删除动作
$ git clean -f ./
# 2. 或使用 git clean -i 自己决定要删除的文件
$ git clean -i ./
上面的命令后面都跟上./
,其实这就是当前路径的意思,但git clean
默认情况下的查找就是从当前路径往下“递归”进行的,那为什么我们还在这里画蛇添足地带上./
呢?实际上,这里说的“递归”是不完整的,因为它不会对未跟踪的文件夹进行处理,看下例: