在 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 文件了。