Commit shows up in history, changes are not in the file and don't show in individual file commit history
<p>I just had a really weird problem with git. I pushed a commit yesterday and after that a few people did pushes. Now I can see my commit in history on github, but the changes I made are not in the HEAD revision of the file and if I look at the history of the individual file, my commit doesn't show up. My team mates tell me that all they did were regular pull and push. There were no conflicts with the file I changed. If someone used force push, I would expect my commit to completely disappear. If someone screwed up a merge conflict resoltuion, I would expect merge commit to undo my changes and be reflected in the commit history for the file. But somehow neither is the case. To simplify:</p>

<ul>
<li>I change file.txt and make commit ABCD</li>
<li>I push ABCD up to github</li>
<li>Other people push other commits, not affecting file.txt</li>
<li>If I look at repository commits on github, I see my commit and I can pull up the change diff</li>
<li>If I look at the latest revision of file.txt on github my changes are not there</li>
<li>If I look at the commit history for file.txt ABCD doesn't show up, last commit on that file is the commit before ABCD.</li>
</ul>

<p>How does something like this happen?</p>

<p>Edit: per discussion in the comments, here is a piece of my commit graph</p>

<pre>
* | 8c1d372 ...
* |   98dbad7 Merge branch 'master'
|\ \  
| * | 8d64a09 ...
| * | 12beb68 ...
| * |   1c94b6d Merge branch 'master'
| |\ \  
| | * | 80b6285 ...
| | * | 9781fad ...
| | * | f12fc90 ...
| | * | 61411fa ...
| | * | 291333b ...
| * | | aeee93f ...
| |/ /  
| * |   bcfbf65 Merge branch 'master'
</pre>

<p>My commit that disappeared is 9781fad. If I checkout 8c1d372 my changes disappear. Yet no commits after mine actually affect the file I changed.</p>