title: Git partial commit of staged changes
body: <p>My current <code>git status</code> looks like this:</p>
  
  <pre><code># Changes to be committed:
  #   (use "git reset HEAD &lt;file&gt;..." to unstage)
  #
  #       modified:   docs/file3.org
  #       modified:   src/main/R/lib.R
  #
  # Changes not staged for commit:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #       modified:   docs/file3.org
  #       modified:   src/main/R/lib.R
  </code></pre>
  
  <p>I'd like to commit the <em>staged</em> changes to <code>docs/file3.org</code> first, then the other staged changes.  But if I do <code>git commit -m '...' docs/file3.org</code>, it will commit both the staged &amp; unstaged changes to that file.</p>
  
  <p>Is there an easy way to do this?  Or do I need to <code>stash</code> my unstaged changes, unstage one of the files, commit the other, restage, commit, and <code>stash pop</code>?</p>