执行git pull后本地与GitHub仓库代码丢失,无备份如何恢复
Git丢失代码恢复操作步骤
你之前提交过的代码仍保存在本地Git的提交记录中,按以下步骤操作即可恢复:
第一步:定位丢失代码对应的提交哈希
执行git reflog命令,该命令会展示所有本地HEAD指向过的操作记录,找到你之前推送.py文件和图片的那一次提交对应的7位哈希值(类似a1b2c3d的格式)。第二步:恢复代码到独立分支(避免破坏现有状态)
执行git checkout -b recover_branch <你找到的提交哈希>,执行完成后本地会新建一个名为recover_branch的分支,里面包含你丢失的所有代码文件,可先进入目录确认所有.py文件、图片都已恢复。第三步:将恢复的代码同步到GitHub main分支
确认代码无误后执行以下命令:- 切换回main分支:
git checkout main - 合并恢复分支的内容:
git merge recover_branch --allow-unrelated-histories - 若合并过程提示冲突,手动修改冲突文件保留你需要的代码后,执行
git add <冲突文件名>、git commit -m "解决合并冲突"即可 - 推送到远程GitHub仓库:
git push origin main
- 切换回main分支:
注意:操作前不要执行
git gc这类Git清理命令,避免提交记录被提前清理导致无法恢复。
内容的提问来源于stack exchange,提问作者Meghal Darji
相关产品推荐
相关产品推荐

