GitLab恢复已删除远程分支的标准最优方法
恢复GitLab已删除远程分支的标准最优方法
优先场景:本地仍保留该分支副本
如果本地还存在这个分支的本地副本,这是最理想的情况,直接推送是最简捷的标准操作,无需额外查找提交ID:
- 切换到该本地分支:
git checkout <branchname> - 推送到远程仓库(若远程分支已删除,可加
-u关联远程分支):git push -u origin <branchname>
这个方法直接复用本地分支的完整信息,步骤最少且出错概率低,是优先选择的标准方案。
本地无分支副本的情况
若本地也没有该分支的副本,可采用以下两种官方支持的标准方法,其中命令行操作是开发者首选:
控制台操作流程
- 执行
git reflog查看本地操作日志,定位到该分支最后一次提交的SHA1 ID(日志中会有类似checkout: moving from <branchname> to main的记录,对应ID即为目标) - 基于该提交创建同名分支:
git checkout -b <branchname> <sha1-id> - 推送到远程仓库:
git push -u origin <branchname>
Web UI操作(适合不熟悉命令行的场景)
如果偏好图形界面,Web UI操作同样是官方认可的标准方法,步骤如下:
- 进入项目Web UI,依次点击
Repository > Commits - 找到目标提交并复制其SHA值
- 进入
Repository > Branches,点击“New Branch” - 输入分支名称,在“Create from”下拉菜单填入提交SHA值并回车确认
- 点击“Create Branch”完成创建
总结
- 本地有分支副本:直接推送是最优标准方法
- 本地无分支副本:控制台
reflog+重建推送是开发者首选流程,Web UI作为备选方案
内容的提问来源于stack exchange,提问作者zond
相关产品推荐
相关产品推荐

