You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何恢复GitHub上被误删的全部分支?是否需要逐个恢复?

恢复误删分支的操作方案

问题原因

你执行的git push --mirror作用是让远端仓库的分支、标签等引用完全和本地镜像仓库保持一致,你本地的镜像克隆是旧仓库的内容,没有新仓库原有分支的引用,所以推送后新仓库的原有分支被全部清除。

无需逐个恢复的批量恢复方案

场景1:存在新仓库的完整本地克隆(或其他同事持有该克隆)

这是成本最低的恢复方式,操作步骤如下:

  • 进入持有新仓库克隆的本地目录,先确认远端地址指向正确:git remote -v
  • 如果本地没有拉取过新仓库的全部分支,先执行以下命令同步所有远端分支到本地:
for remote_branch in $(git branch -r | grep -v 'HEAD'); do
  git checkout --track $remote_branch
done
  • 批量推送所有本地分支到新仓库:git push origin --all
  • 如果需要恢复原有标签,追加执行:git push origin --tags

场景2:无可用本地克隆

主流代码托管平台(GitHub、GitLab、Gitee等)都内置了删除分支的恢复功能,支持批量操作:

  • 进入新仓库的管理后台,找到「分支管理」-「已删除分支」(不同平台路径略有差异)
  • 列表中会展示近期所有被删除的分支,支持批量选中后一键恢复,无需单个操作
  • 部分平台还支持直接撤销你这次git push --mirror的推送操作,一次性还原所有分支状态

后续迁移单个分支的正确操作

如果只是要迁移旧仓库的某一个分支到新仓库,不要使用--mirror参数,改用以下命令:

git push new-origin 旧仓库分支名:新仓库目标分支名

内容的提问来源于stack exchange,提问作者Blaze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:42:04