git rebase 找回丢失的代码!

git rebase处理冲突过程中可以使用 git rebase --abort,但是我碰到的情况是已经rebase完成,生成了新的log,然后我才发现有几个文件被冲掉了,而且我还没push到远程库。 两天的工作量miss,慌得一批。

git log 命令可以显示所有提交过的版本信息, 但是rebase已经生成了新的log,丢失的文件并不能找到。
git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作),救我一命 如下:
git rebase 找回丢失的代码!
这个命令可以找到之前的所有操作记录,用git log则是看不出来被删除的commitid,用git reflog则可以看到被删除的commitid,我们就可以买后悔药,恢复到被删除的那个版本。

git reset --hard 需要恢复的id就可以了