title: Git Empty Commit With No Changes
body: <p>I'm trying to troubleshoot a scenario that pops up, seemingly randomly, every couple of days or so.</p>
  
  <p>I switch to a branch I haven't touched, and am told I am 'ahead' of the remote branch, despite not having made any commits on this branch.  I then attempt to figure out what local changes I've made, and find none.  In the past, doing a <code>git push</code> seems to resolve the issue, but it makes us extremely nervous to be blindly pushing who-knows-what willy-nilly without understanding the root issue.  I've included below a command that I think illustrates my confusion.  If I'm ahead of remote, shouldn't the <code>git diff</code> return my changes?  I think I'm up-to-date with remote, which is what I'm trying to show with the inclusion of the <code>git fetch</code>/<code>git pull</code> commands.  </p>
  
  <pre><code>  $ echo '====FETCH====' &amp;&amp; git fetch &amp;&amp; echo '====PULL====' &amp;&amp; git pull &amp;&amp; echo
  '====STATUS====' &amp;&amp; git status &amp;&amp; echo '====DIFF====' &amp;&amp; git diff &amp;&amp; echo '====
  DIFF ORIGIN/DEV====' &amp;&amp; git diff origin/dev
  
  
  ====FETCH====
  ====PULL====
  Already up-to-date.
  ====STATUS====
  On branch dev
  Your branch is ahead of 'origin/dev' by 1 commit.
    (use "git push" to publish your local commits)
  
  nothing to commit, working directory clean
  ====DIFF====
  ====DIFF ORIGIN/DEV====
  </code></pre>
  
  <p>Does anyone know what's going on here?</p>