我有一个只有本地的 git 项目,并且只有一个 master 分支。昨天我做了一些提交。今天我做了一个承诺。提交看起来不错——这是现有文件和一些新文件的差异。
但是,当我在 gitx 中查看我的 master 分支时,它只显示了今天的提交,并且看起来就像我通过这一次提交从头开始提交了所有文件。
Git 日志显示了同样的内容,但 git reflog 显示了我之前的所有提交:
$ git log
commit bd7d6af7f916706c5df6d57bed883d2c2d81f60f
Author: Sam Fen
Date: Wed Jun 20 12:00:38 2012 -0400
Add Genotype class, update naming
$ git reflog
bd7d6af HEAD@{0}: checkout: moving from master to master
bd7d6af HEAD@{1}: commit: Add Genotype class, update naming
bf0d3dd HEAD@{2}: commit: Add start to genetics manipulation library
2335bf2 HEAD@{3}: commit: Convert to CoffeeScript
4c26713 HEAD@{4}: commit: Initial commit with basic structure, trivial Jasmine t
reflog 显示了似乎是一个奇怪的双重提交,最后一个具有相同的哈希 (bd7d6af),但我认为这只是因为在 gitx 中看到空的历史记录后,我回到命令行并输入了 'git checkout主人'只是为了确保我在主人(我是)。
关于可能发生的事情以及如何恢复我的历史的任何想法?