git 误删分支后恢复方法
由于本人在开发的时候删除了分支,花费了一天的时间才将代码恢复,故此整理了如果误删git代码后的恢复方法方法 1:通过本地 reflog 恢复(推荐)
查找分支删除记录
git reflog | grep -i 'delete.*branch'输出示例:
7a1b2c3 HEAD@{2}: pull origin main: Fast-forward
9d8e7f6 HEAD@{3}: checkout: moving from feature/login to main
123456a HEAD@{4}: commit: Update login logic
e5f43d0 HEAD@{5}: branch: Delete branch feature/payment# ← 删除记录
找到删除前的提交ID(e5f43d0)
git branch <分支名> <提交ID># 创建新分支指向旧位置
git branch feature/payment e5f43d0验证恢复
git checkout feature/payment
git log --oneline -3# 检查历史记录方法 2:恢复远程分支(如果曾经推送过)
查看远程引用
git ls-remote origin如果发现删除的分支引用(可能存在于其他成员的本地)
找回最后的提交ID(假设为 a1b2c3d)
本地重建分支
git branch feature/payment a1b2c3d推送到远程
git push origin feature/payment方法 3:使用 fsck 找回悬空提交(reflog 失效时)
查找孤立(悬空)提交
git fsck --full --no-reflogs --unreachable --lost-found | grep commit检查可疑提交(会显示在 .git/lost-found 目录)
cd .git/lost-found/commit
cat * | less# 查看提交内容找到正确提交后重建分支
git branch recovered-feature <提交ID>
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]