很久以前,发过这样一篇文章《Git全局忽略MacOS系统下的.DS_Store文件》,主要是针对MacOS用户,如何方便的在自己机器中免疫所有.DS_Store
文件的误提交。如果有这个需求,且还没有搞过的读者可以通过上面这篇文章学习。
今天想要分享的是来自一个读者的私信:配置忽略.DS_Store
文件是在没有提交过的前提下做的防范措施,那么如果已经把大量的.DS_Store
文件提交了的话,要如何快速清理呢?这位读者还给我发了个他用的命令:
git rm --cached .DS_Store
问题是这个命令只能处理当前目录,对于已经跑了一段时间的仓库,每个文件夹下面已经到处都是了。一个个去执行太麻烦了。所以需要一个能遍历文件夹,并依次清除的实现。
这里就给大家分享一个快速清理的命令:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
只需要在要清理的Git项目目录下直接运行,就能处理所有的.DS_Store
了,最后记得处理好之后,要提交哦~