上周代码在本地提交了,然后用git reset –hard到生产的版本,打算对比一下变化然后写变更手册,其实不应该reset的。
reset后发现之前的commit没了,还以为自己没提交,后来同事说可以恢复,就上网找了一下,然后真的成功了,不然写了两个星期的代码就没了。
先执行命令:
git fsck --lost-found
Bash会列出dangling commit和dangling blob和他们的SHA1 id
使用命令
git show <SHA1>
Bash会列出选择id的内容
然后使用命令
git branch <SHA1> #创建新分支
git merge <SHA1> #合并到当前分支
Bash最后恢复成功了。