title: Git "commits left behind" when switching back to a branch from detached head
body: <p>For certain commits in our repo (but not all), if I check out the commit, then return to the master branch, I get an unexpected warning about commits being left behind:</p>
  
  <pre><code># Check out one of the commits in question:
  $ git checkout dd33caa5b004b0e3bd449152f9335e40450db91c
  Note: checking out 'dd33caa5b004b0e3bd449152f9335e40450db91c'.
  
  You are in 'detached HEAD' state. You can look around, make experimental
  [...]
  HEAD is now at dd33caa... Organized DataStore build files, added cleanup targets.
  
  # Now switch back to the master branch so I can work:
  $ git checkout master
  Warning: you are leaving 17 commits behind, not connected to
  any of your branches:
  
    dd33caa Organized DataStore build files, added cleanup targets.
    4916eec Fixes to C++ codegen to use maven features.
    a26291d Merge branch 'master' of [redacted origin repo address]
    93ae0b9 Add protobuf 2.4.1 jar file to install scripts. Add QTDIR to build script.
   ... and 13 more.
  
  If you want to keep them by creating a new branch, this may be a good time
  to do so with:
  
   git branch new_branch_name dd33caa5b004b0e3bd449152f9335e40450db91c
  
  Switched to branch 'master'
  </code></pre>
  
  <p>All the commits in question (as far as I can tell) are reachable from master, and I haven't made any commits while in the detached head state (this is a clean clone of our repository).  The master branch's history looks like this:</p>
  
  <pre><code>* 04d7fcc (HEAD, origin/master, origin/HEAD, master) Removed files from DataS
  * ecaa2f5 Fixed .gitignore.
  * dd33caa Organized DataStore build files, added cleanup targets.
  * 4916eec Fixes to C++ codegen to use maven features.
  *   a26291d Merge branch 'master' of [redacted]
  |\  
  | * 93ae0b9 Add protobuf 2.4.1 jar file to install scripts. Add QTDIR to buil
  | * 3cba845 switched to protobug 2.4.1 jar files
  | * 1046d22 fixed GATEWAY_ROOT
  | * ebcda06 edit windows build scripting path for new repo location
  | * bda1e17 add windows build scripts from old repo
  * |   371883d Merge branch 'master' of [redacted]
  |\ \  
  | |/  
  | * 771c579 Fix MCast and RMCast service names in gateway manager config
  * | 864fb25 First cut at DataStore code generation update to sync with refact
  |/  
  * f505e46 Testing new repository
  *   111d89a Merge branch 'master' of [redacted]
  </code></pre>
  
  <p>Any idea what might be going on here?  It appears to be connected to one specific user's commits, and I can reproduce this with Git 1.7.9.6 on OSX and with Git 1.7.9.5 on Ubuntu, but not with 1.8.0 on Ubuntu...  so a Git bug, perhaps?  I don't see anything that looks relevant in the release notes, though...</p>