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_Store:pull后会被删除 -
新生成的
.DS_Store:不会再被 Git 跟踪 -
Windows 不再受到影响
-
Mac 仍会生成,但被忽略
结论¶
👉 核心是:忽略规则 + 清理 Git 索引
👉 删除本地文件只是可选操作