title: git push says "everything up-to-date" even though I have local changes
body: <p>I have a remote gitosis server and a local git repository, and each time I make a big change in my code, I'll push the changes to that server too. </p>
  
  <p>But today I find that even though I have some local changes and commit to local repository, when running <code>git push origin master</code> it says 'Everything up-to-date', but when I use <code>git clone</code> to checkout files on the remote server, it doesn't contain latest changes. And I have only one branch named "master" and one remote server named "origin".</p>
  
  <p>PS:
  This is what git displays when running <code>ls-remote</code>, I'm not sure whether it helps</p>
  
  <pre><code>$ git ls-remote origin
  df80d0c64b8e2c160d3d9b106b30aee9540b6ece        HEAD
  df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
  $ git ls-remote .
  49c2cb46b9e798247898afdb079e76e40c9f77ea        HEAD
  df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
  df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/remotes/origin/master
  3a04c3ea9b81252b0626b760f0a7766b81652c0c        refs/tags/stage3
  </code></pre>