title: What is the difference between the working directory and the git Index?
body: <p>The <a href="http://book.git-scm.com/index.html" rel="noreferrer">git book</a> defines the git index:</p>
  
  <blockquote>
    <p>The Git index is used as a staging
    area between your working directory
    and your repository. You can use the
    index to build up a set of changes
    that you want to commit together. When
    you create a commit, <strong>what is committed
    is what is currently in the index, not
    what is in your working directory</strong>.</p>
  </blockquote>
  
  <p>But I am still having a difficult time understanding it, especially the highlighted statement that "what's committed is <strong>not</strong> what's in my working directory".</p>
  
  <p>So far, in my limited working with git, <em>everything</em> in the working directory is <em>always</em> committed, if I do:</p>
  
  <pre><code>git add &lt;all new files in the working directory&gt;
  git commit -a -m "git will refuse to commit without this comment" 
  </code></pre>
  
  <p>git then commits <em>all</em> modified files as well as <em>all</em> new files.</p>
  
  <p>So, in effect, my working directory <em>is</em> the staging area?</p>
  
  <p>I am not sure then what the <code>git index</code> is and how it is interpreted as the staging area.</p>
  
  <p>Could you please explain?</p>