跳至主要內容

快速清理已经上传到Git仓库的.DS_Store文件

程序猿DD原创GitGit大约 1 分钟

快速清理已经上传到Git仓库的.DS_Store文件

很久以前,发过这样一篇文章《Git全局忽略MacOS系统下的.DS_Store文件》open in new window,主要是针对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了,最后记得处理好之后,要提交哦~

上次编辑于:
贡献者: 程序猿DD