git reflog 处理代码丢失、恢复代码
reflog 是 Git 操作的一道安全保障,它能够记录几乎所有本地仓库的改变。包括所有分支 commit 提交,已经删除(其实并未被实际删除)commit 都会被记录。总结而言,只要 HEAD 发生变化,就可以通过 reflog 查看到。
背景:将分支本地代码提交到master过程中导致本地代码丢失,在提交记录里找不到,远程分支也没有。
1、执行 git reflog 查看操作日志
dd6e43d (HEAD -> master, origin/master, origin/HEAD) HEAD@{0}: pull: Fast-forward
b6786f4 HEAD@{1}: reset: moving to b6786f4af248e0a84351ff6d60d9cd70013e5f16
af24a0b HEAD@{2}: reset: moving to HEAD
af24a0b HEAD@{3}: reset: moving to HEAD
af24a0b HEAD@{4}: reset: moving to HEAD
af24a0b HEAD@{5}: reset: moving to HEAD
af24a0b HEAD@{6}: reset: moving to HEAD
af24a0b HEAD@{7}: commit: add:每周督查表
b6786f4 HEAD@{8}: pull: Fast-forward
5e7ba6a HEAD@{9}: commit: add:每周小组工作汇报模板
39b8d49 HEAD@{10}: pull: Fast-forward
0ccf86d HEAD@{11}: pull: Fast-forward
8c8926a HEAD@{12}: pull: Fast-forward
8f0a825 HEAD@{13}: pull: Fast-forward
699f161 HEAD@{14}: commit: add:科室制度
07c7a3c HEAD@{15}: pull: Fast-forward
2、查看对应的版本号,就可以恢复到任意版本:
git reset --hard "af24a0b"
3、找回丢失文件

浙公网安备 33010602011771号