如何从Git存储库中删除那些烦人的Mac OS X.DS_Store文件?


当前回答

我必须将上面的git rm更改为git rm才能使其工作:

find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print

其他回答

使用git rm删除它们,然后将.DS_Store添加到.gitignore以阻止它们再次被添加。你也可以使用bluegravest来阻止它们一起被创造出来

如果您使用的是GitHub Desktop应用程序,则此方法有效。

如果还没有,请在应用程序中打开存储库(¨O)从“存储库”选项卡中,选择“存储库设置”。转到“忽略的文件”并添加您希望忽略的文件。

出于某种原因,以上这些都不适用于我的mac。

我的解决方案来自终端运行:

rm .DS_Store

然后运行以下命令:

git pull origin master

这对我很有用,上面有两个答案:

$git rm--缓存-f*.DS_Store$gitcommit-m“过滤器分支--索引过滤器'git rm--缓存--忽略取消匹配.DS_Store“$git推送原始主机--强制

有时.DS_Store文件位于远程存储库中,但在本地项目文件夹中不可见。要解决此问题,我们需要删除所有缓存的文件并再次添加。

步骤1:将其添加到.gitignore文件中。

# Ignore Mac DS_Store files
.DS_Store
**/.DS_Store

步骤2:删除缓存的文件,然后使用这些命令再次添加。

git rm -r --cached .
git add .
git commit -am "Removed git ignored files"
git push -f origin master