Git无法忽略全局忽略文件中定义的.DS_Store文件

9

我对git还比较新,希望我没有做什么很愚蠢的事情。我一直没有使用Git中忽略文件的方法,最终已经受够了不小心将操作系统文件添加到我的存储库中。

我有一个新的git存储库,其git status为:

# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .DS_Store
#   README.markdown
nothing added to commit but untracked files present (use "git add" to track)

运行git add .,然后运行git status会产生以下结果:
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   .DS_Store
#   new file:   README.markdown
#

运行git config -l命令会显示以下内容:
core.excludesfile=/Users/Chris/.gitignore
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true

/Users/Chris/.gitignore文件的内容如下:

# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db
1个回答

6
尝试在全局的.gitignore中移除.DS_Store后面的问号?

非常感谢!那个很好用。我唯一的问题是为什么一开始会有问号?那是一个随 Git 附带的默认忽略文件。我以为问号是语法的一部分。 - Chris Kempson
我不知道;-) 问号代表任何字符,因此它可能涵盖像.DS_Store1、.DS_Store2等的内容。 - Michael Krelin - hacker
这是有道理的,所以问号表示需要一个字符,因此不会匹配.DS_Store - 非常奇怪。 - Chris Kempson
@Aaron,假设它不仅仅是.DS_Store。虽然这并没有什么意义,但我还没看到过这些文件。 - Michael Krelin - hacker
我也不知道。但这在 GitHub 的 .gitignore_global 示例中被使用。请参阅 http://help.github.com/ignore-files/。 - user711807
这肯定比.DS_Store?好多了;-) - Michael Krelin - hacker

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