title: Git push fails to github: failed to read object
body: <p>The story:</p>
  
  <p>I've been developing a RoR-app in both my desktop and laptop. It was quite handy to commit changes made on another, push them to github and fetch &amp; merge on other.</p>
  
  <p>The starting point is this: I committed latest changes on my desktop, pushed them to github and then fetched and merged them into my laptop. Then, I made some commits on laptop and pushed to github. Took the changes, merged to my desktop (with --no-ff). THEN, happened the probable source of all mischiefs: I reverted the desktop to commit where it was before the latest fetch &amp; merge. Made some development work with it, committed, pushed to github. In the laptop, I did the revert as well, though I reverted it to a commit which was made somewhere between the latest fetch from github, fetched again and merged those. Some error messages came after reverting desktop and laptop both, but things worked still fairly well and I kept working on both machines.</p>
  
  <p>Until now. I tried to push from my laptop to github, which gives the following output:        </p>
  
  <pre><code> Counting objects: 106, done.
   error: unable to find 5a2a4ac...
   error: unable to find bc36923...
   error: unable to find ecb0d86... 
   error: unable to find f76d194...
   error: unable to find f899df7...
   Compressing objects: 100% (64/64), done.
   fatal: failed to read object 5a2a4ac... : Invalid argument
   error: failed to push some refs to 'git@github:username/repo.git'
  </code></pre>
  
  <p>So, the question is, what exactly took place here?</p>
  
  <p>EDIT: It seems that because of suspending my laptop and moving it from place to place in that state screwed up the hard drive somehow. The fsck output is unavailable because we worked around the problem and kept on working, but IIRC some branches and commits were dangling, including that commit which git failed to read. - Teemu</p>