Git 查漏补缺

193 阅读1分钟

git clean

之前碰到没 track 的文件都是手动删除,在文件少的情况下倒没太大所谓,文件一多,效率就很低了。还有就是历史遗留的文件可能导致 build 失败,这时候就需要 git clean 先把历史遗留的但是不提交到 git 的内容先删除,例如过时的 nuget 包。

git clean

概念:Git Clean 用来删除工作目录中没有 tracked 过的文件。

git clean经常和git reset --hard一起结合使用. 记住reset只影响被track过的文件, 所以需要clean来删除没有track过的文件. 结合使用这两个命令能让你的工作目录完全回到一个指定的的状态

git clean -n

如下图罗列出即将被删除的文件

image.png

git clean -f

删除当前目录下未 track 的文件, f ==> file,也就是上述截图中 support.aspx, support.aspx.cs, support.designer.cs. 并不会删除.gitignore文件里面指定的文件。

git clean -d

删除当前目录下未 track 的文件夹,d ==> directory

git clean -xf

x 参数表示不管 .gitignore 是否指定了相关文件或者文件夹,只要没有被 track 都进行删除。

reference: