.gitignore忽略每个文件夹和子文件夹中的所有.DS_Store文件

879
我已将.DS_Store添加到.gitignore文件中,但似乎它只忽略根目录下的.DS_Store文件,而不是每个文件夹和子文件夹中的文件。
如何解决这个问题?

4
可能是如何从Git存储库中删除.DS_Store文件?的重复问题。 - user2062950
1
你是如何将它添加到.gitignore的?它应该在所有目录中都起作用(对我来说是这样的)。 - Thilo
1
它对我也起作用。我也试过将其放在文件末尾,如果你必须有一个(特定于平台的)换行符,但这并没有改变任何层次结构中任何部分内的 .DS_Store 目录仍然被忽略的情况。 - enorl76
1
据我理解,问题是:如何轻松忽略所有子目录中 .DS_Store 的出现,而不必在每个子目录中手动执行此操作。我也遇到了同样的问题。下面的答案展示了如何解决它(最后两段)。 - petrsyn
12个回答

6

在创建项目时,应添加以下行。这将始终忽略.DS_Store被推送到存储库。

*.DS_Store表示代码提交时忽略.DS_Store文件。
git rm --cached .DS_Store这是为了从存储库中删除.DS_Store文件,如果您需要它,可以取消注释。

## ignore .DS_Store file.
# git rm --cached .DS_Store
*.DS_Store

1

如果您想全局禁用 .DS_Store 文件,以后再也不必考虑它:

  1. 找到全局 Git 忽略文件的路径: git config --get core.excludesfile
  2. .DS_Store 添加到全局 Git 忽略文件中
  3. 重新运行 Git CLI 命令/IDE 操作

从此时起,每次 Git 都会像将全局 Git 忽略文件中的模式放入本地忽略文件一样操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接