git reflog 找回丢失代码
好几个月前的代码在git上找不到了,还没有任何提交记录,差点以为只有重新修改之前的bug了,然后发现是自己重置了分支,导致之前的记录都没有了,代码也都丢失了。
这里可以看到3.28之后到6.22没有任何提交记录
执行代码, 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
$ git reflog --date=iso
单独查看某个分支
$ git reflog <分支名> --date=iso
然后不停按向下箭头↓,找到最可能的时间点,然后复制前面的commitid
如果丢失的多,可以创建新分支,然后合并。
$ git checkout 新分支名 <commitid>
就能拿到之前的被删的提交记录们,然后合并到之前的分支上
就找回了之前的git记录
丢失不多,还记清具体的提交记录,直接就cherry-pick过去
$ git cherry-pick <commitHash>
差点吓死了,以为自己只有跑路了,给大家分享一下的我的这次经验吧!
这个还是让我们程序员又多了一层保障,就算提交到远程仓库了,也还有后悔的机会。