title: What does "a tree" mean in Git?
body: <p>The manpage of <code>git diff</code> says it</p>
  
  <blockquote>
    <p>NAME</p>
    
    <p>git-diff - Show changes between commits, commit and working tree, etc</p>
    
    <p>DESCRIPTION</p>
    
    <p>Show changes between <strong>the working tree</strong> and the index or <strong>a tree</strong>, changes between the index and <strong>a tree</strong>,
    changes between <strong>two trees</strong>, changes between two <strong>blob objects</strong>, or changes between two files on disk.</p>
  </blockquote>
  
  <p>Does "the working tree" mean the working directory?</p>
  
  <p>What does "a tree" mean here?  Is it the same as a commit object or a tree object? (Literally, I think it means a tree object. But I guess it may intend to mean a commit object, by comparing the "DESCRIPTION" part to the "NAME" part.)</p>
  
  <p>How do you specify "a tree" as a command line argument to <code>git diff</code>?</p>
  
  <p>If I may also ask, how do you specify "a blob object" as a command line argument to <code>git diff</code>?</p>