w.cx
w.cx is Rocco’s blog.

如何解决在MAC上git提交代码时会提交每个目录的.DS_Store文件?

Posted on Jan 13, 2024

提要

部署博客时每次提交新的代码都有几率更新大量MAC系统自动生成的.DS_Store文件,不美观也不环保。

场景1

全新的代码库屏蔽.DS_Store文件

只需打开终端

1
cd ~/Documents/GitHub/代码库文件夹

进入代码库文件夹

1
echo .DS_Store >> ./.gitignore

即可


或者直接使用任何文本编辑器新建.gitignore文件并在里面写入.DS_Store即可屏蔽该文件,若有其他想要屏蔽的文件如配置文件等也可一起写入每行一个。

场景2

已经向代码库上传了大量.DS_Store文件

打开终端

1
cd ~/Documents/GitHub/代码库文件夹

进入代码库文件夹,首先执行

1
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

找到所有项目内.DS_Store并通过git rm删除所有文件夹及子文件夹内的.DS_Store

image-1

此时已经完成删除了全部.DS_Store文件。

再执行场景1的代码或新建.gitignore并写入.DS_Store

1
echo .DS_Store >> ./.gitignore

提交代码库即可。

image-2