我已经将.DS_Store添加到.gitignore文件中,但它似乎只是忽略了根目录中的.DS_Store,而不是每个文件夹和子文件夹中的.DS-Store。

我该如何修复?


当前回答

$git rm./*。DS_Store-从git中删除所有.DS_Store$echo\.DS_Store>>.gitignore-忽略.DS_Store

提交并推送

其他回答

将*.DS_Store添加到.gitignore文件中。这对我来说很好

步骤1,删除所有*.DS_store文件。一个人可以跑

git rm -f *.DS_Store

但是要注意,如果你有拼写错误,rm-f可能会有点危险!第二步:添加

*.DS_Store
.DS_Store

到。gitignore。这对我有用!

将子目录的**/.DS_Store添加到.gitignore中


如果.DS_Store已提交:

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

在所有存储库中忽略它们:(有时名为._.DS_Store)

echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global

您还可以将--cached标志添加到auco的答案中,以维护本地.DS_store文件,正如Edward Newell在最初的答案中所提到的那样。修改后的命令如下:find-name.DS_Store-print0|xargs-0 git rm--cached--忽略取消匹配。。干杯,谢谢!

$git rm./*。DS_Store-从git中删除所有.DS_Store$echo\.DS_Store>>.gitignore-忽略.DS_Store

提交并推送