跳转至

Git 跨 Mac / Win 同步时 .DS_Store 处理

.DS_Store 是 macOS 自动生成的缓存文件,对项目没有任何价值,但会污染 Git 仓库。


一、忽略规则

.gitignore 中加入:

.DS_Store
**/.DS_Store
Thumbs.db
Desktop.ini

二、如果已经提交过

仅加 .gitignore 不够,需要清理 Git 记录:

git rm -r --cached .
git add .
git commit -m "clean: remove DS_Store"
git push

三、是否需要删除本地文件

可选:

find . -name ".DS_Store" -delete

只是清理本地,不影响 Git 逻辑。


四、最终效果

  • 已提交的 .DS_Storepull 后会被删除

  • 新生成的 .DS_Store:不会再被 Git 跟踪

  • Windows 不再受到影响

  • Mac 仍会生成,但被忽略


结论

👉 核心是:忽略规则 + 清理 Git 索引
👉 删除本地文件只是可选操作