在 Mac 上开发时,几乎每个文件夹都会自动生成 .DS_Store 文件,用来保存文件夹的显示偏好(图标大小、排序方式等)。但在团队协作的项目中,这些文件完全没有必要进入版本库,反而会造成困扰。下面教你如何彻底解决这个问题。

第一步:移除已经提交的 .DS_Store 文件

如果仓库里已经存在 .DS_Store 文件,需要先把它们移除:

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

这条命令会在项目中查找所有 .DS_Store 文件,并从 Git 中删除它们。

第二步:在 .gitignore 中添加规则

在项目根目录的 .gitignore 文件中加入以下内容:

**/.DS_Store

这样可以确保所有文件夹及子文件夹中的 .DS_Store 文件都被忽略。

第三步:提交并推送修改

执行以下命令提交更改:

git commit -m "Remove .DS_Store from everywhere"
git push

至此,项目中的 .DS_Store 文件就不会再污染版本库了。

彻底关闭 .DS_Store 文件的生成

如果你觉得这些文件在本地也很烦,可以直接关闭它们的生成(尤其是在网络驱动器上):

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

执行后重启 Mac,即可生效。这样在网络共享目录中就不会再生成 .DS_Store 文件了。