title: "git checkout" Doesn't Update Files
body: <p>my workflow with git is something like this:
  1. pull --rebase from origin/master
  2. create a new branch for a specific issue and make my changes on that branch
  3. switch head back to master and then merge the new branch I've created to to master</p>
  
  <p>from the documentation page, git checkout is suppose to</p>
  
  <blockquote>
    <p>Updates files in the working tree to match the version in the index or the specified tree</p>
  </blockquote>
  
  <p>however after I made changes to the new branch and checkout master and check the status using 'git status', the changed files is still present.</p>
  
  <p>Worst of all, I have used the 'undo file changes' option in git extension for visual studio, now that even if I switch back to the branch I created using the 'checkout' command, I no longer see my changes. Is there anyway that I can redo those changes?</p>