找回密码
 立即注册
首页 业界区 安全 git 误删分支后恢复方法

git 误删分支后恢复方法

颛孙中 昨天 10:27
由于本人在开发的时候删除了分支,花费了一天的时间才将代码恢复,故此整理了如果误删git代码后的恢复方法
方法 1:通过本地 reflog 恢复(推荐)

查找分支删除记录
  1. 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)
  1. git branch <分支名> <提交ID>  # 创建新分支指向旧位置
  2. git branch feature/payment e5f43d0
复制代码
验证恢复
  1. git checkout feature/payment
  2. git log --oneline -3  # 检查历史记录
复制代码
方法 2:恢复远程分支(如果曾经推送过)

查看远程引用
  1. git ls-remote origin
复制代码
如果发现删除的分支引用(可能存在于其他成员的本地)

找回最后的提交ID(假设为 a1b2c3d)

本地重建分支
  1. git branch feature/payment a1b2c3d
复制代码
推送到远程
  1. git push origin feature/payment
复制代码
方法 3:使用 fsck 找回悬空提交(reflog 失效时)

查找孤立(悬空)提交
  1. git fsck --full --no-reflogs --unreachable --lost-found | grep commit
复制代码
检查可疑提交(会显示在 .git/lost-found 目录)
  1. cd .git/lost-found/commit
  2. cat * | less  # 查看提交内容
复制代码
找到正确提交后重建分支
  1. git branch recovered-feature <提交ID>
复制代码

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册