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


当前回答

如果您无法删除这些文件,因为它们有暂存的更改,请使用:

git rm --cached -f *.DS_Store

其他回答

$ git commit -m "filter-branch --index-filter 'git rm --cached --ignore-unmatch .DS_Store"
$ git push origin master --force

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

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

步骤1

这将删除目录(包括子目录)中的每个.DS_Store文件

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

步骤2

将此添加到.gitignore以防止根目录和每个子目录中的任何DS_Store文件进入git!

**/.DS_Store

从git文档中:

前导“**”后接斜杠表示所有目录中的匹配。例如,“**/foo”与任何位置的文件或目录“foo”匹配,与模式“foo“相同。“**/foo/bar”匹配直接位于目录“foo”下的文件或目录“bar”。

使用此命令删除现有文件:

find . -name '*.DS_Store' -type f -delete

然后将.DS_Store添加到.gitignore

无需在本地删除.DS_STORE

只需将其添加到.gitignore文件

gitinore文件只是一个文本文件,告诉Git在项目中要忽略哪些文件或文件夹。

命令

nano.git忽略写入.DS_Store,然后单击CTRL+X>y>点击返回gitstatus最后查看您的更改git-add.gitignoregitcommit-m'您的承诺信息'git推送原始主机