我已经将.DS_Store添加到.gitignore文件中,但它似乎只是忽略了根目录中的.DS_Store,而不是每个文件夹和子文件夹中的.DS-Store。
我该如何修复?
我已经将.DS_Store添加到.gitignore文件中,但它似乎只是忽略了根目录中的.DS_Store,而不是每个文件夹和子文件夹中的.DS-Store。
我该如何修复?
当前回答
我认为您遇到的问题是,在之前的一些提交中,您意外地将.DS_Store文件添加到了存储库中。当然,一旦在存储库中跟踪了某个文件,即使它与适用的.gitignore文件中的条目相匹配,也将继续跟踪该文件。
您必须手动删除添加到存储库中的.DS_Store文件。您可以使用
git rm --cached .DS_Store
删除后,git应该忽略它。您只需要在root.gitignore文件中使用以下行:.DS_Store。不要忘记句点!
git rm --cached .DS_Store
仅从当前目录中删除.DS_Store。您可以使用
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
从存储库中删除所有.DS_Stores。
温馨提示:因为您可能永远不想包含.DS_Store文件,所以请制定一个全局规则。首先,在某处创建一个全局.gitignore文件,例如。
echo .DS_Store >> ~/.gitignore_global
现在告诉git将其用于所有存储库:
git config --global core.excludesfile ~/.gitignore_global
这一页帮助我回答了你的问题。
其他回答
步骤1,删除所有*.DS_store文件。一个人可以跑
git rm -f *.DS_Store
但是要注意,如果你有拼写错误,rm-f可能会有点危险!第二步:添加
*.DS_Store
.DS_Store
到。gitignore。这对我有用!
创建项目时应添加以下行。它将始终忽略.DS_Store以将其推送到存储库。
*.DS_Store这将在代码提交时忽略.DS_Store。gitrm--cached.DS_Store这是从存储库中删除.DS_Store文件,如果需要,可以取消注释。
## ignore .DS_Store file.
# git rm --cached .DS_Store
*.DS_Store
步骤:1)使用此命令删除现有文件
查找-name.DS_Store-print0|xargs-0 git rm-f--忽略取消匹配
步骤:2)在.gitignore文件中添加.DS_Store
步骤:3)在.gitignore中提交更改git-add.gitignoregitcommit-m“已删除.DS_Store”
将*.DS_Store添加到.gitignore文件中。这对我来说很好
我认为您遇到的问题是,在之前的一些提交中,您意外地将.DS_Store文件添加到了存储库中。当然,一旦在存储库中跟踪了某个文件,即使它与适用的.gitignore文件中的条目相匹配,也将继续跟踪该文件。
您必须手动删除添加到存储库中的.DS_Store文件。您可以使用
git rm --cached .DS_Store
删除后,git应该忽略它。您只需要在root.gitignore文件中使用以下行:.DS_Store。不要忘记句点!
git rm --cached .DS_Store
仅从当前目录中删除.DS_Store。您可以使用
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
从存储库中删除所有.DS_Stores。
温馨提示:因为您可能永远不想包含.DS_Store文件,所以请制定一个全局规则。首先,在某处创建一个全局.gitignore文件,例如。
echo .DS_Store >> ~/.gitignore_global
现在告诉git将其用于所有存储库:
git config --global core.excludesfile ~/.gitignore_global
这一页帮助我回答了你的问题。