1. 添加正确范围的规则
将下面这一行加到根目录 .gitignore,可在项目内共享忽略规则。/.DS_Store 只覆盖根目录副本。如果只是个人跨仓库偏好,可使用全局忽略文件。
.DS_Store 2. 区分被忽略与已跟踪文件
对未跟踪的示例副本,检查各路径匹配的规则:
git check-ignore -v -- .DS_Store assets/.DS_Store再检查这两个具体路径是否已在索引中。详细模式的 check-ignore 通常不会显示已跟踪文件,匹配忽略规则也不会停止跟踪。
git ls-files -- .DS_Store assets/.DS_Store 3. 停止跟踪具体副本
如果 assets/.DS_Store 已被跟踪,先检查状态并保存需要的本地内容,再只移除这一项索引记录:
git rm --cached -- assets/.DS_Store提交前检查暂存的删除。--cached 保留当前本地副本,但协作者拉取删除提交后,其已跟踪副本可能被移除。只对已检查的路径重复操作,避免广泛删除文件或重建整个索引。
git diff --cached --name-status 准确行为与更多细节请参阅官方说明: Git 官方文档 · git rm 官方文档 · git check-ignore 官方文档