title: Git failing to ignore .DS_Store defined in global ignore
body: <p>I'm fairly new to git and hope I'm not doing something terribly silly. I've been living without a way of ignoring files in Git and have finally had my fill of accidentally adding OS files to my repositories.</p>
  
  <p>I have a new git repository the <code>git status</code> of which is:</p>
  
  <pre><code># On branch master
  #
  # Initial commit
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   .DS_Store
  #   README.markdown
  nothing added to commit but untracked files present (use "git add" to track)
  </code></pre>
  
  <p>Running <code>git add .</code> followed by <code>git status</code> produces:</p>
  
  <pre><code># On branch master
  #
  # Initial commit
  #
  # Changes to be committed:
  #   (use "git rm --cached &lt;file&gt;..." to unstage)
  #
  #   new file:   .DS_Store
  #   new file:   README.markdown
  #
  </code></pre>
  
  <p>Running <code>git config -l</code> shows:</p>
  
  <pre><code>core.excludesfile=/Users/Chris/.gitignore
  core.repositoryformatversion=0
  core.filemode=true
  core.bare=false
  core.logallrefupdates=true
  core.ignorecase=true
  </code></pre>
  
  <p>The contents of <code>/Users/Chris/.gitignore</code> are:</p>
  
  <pre><code># 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
  </code></pre>