当前位置: 首页 > news >正文

【git】改 GitLab 远程分支名;

要改 GitLab 远程分支名,本质做法是:把旧分支推成一个新名字,再删除旧分支;如果是默认分支,还要在 GitLab 里把默认分支指到新名字。


一、命令行做法(通用)

# 1) 本地把 old 分支改名为 new(或直接基于 old 新建 new)
git checkout old
git branch -m old new# 2) 推送到远端并建立跟踪
git push -u origin new# 3) 删除远端旧分支
git push origin --delete old
# 等价:git push origin :old

如果改的是 “默认分支”(例如 master→main)

  1. 本地改名并推送(同上)
  2. 到 GitLab:Settings → Repository → Default branch 里把默认分支改成 new
  3. 如有 Protected branches 规则,给 new 也加上相同保护,必要时取消 old 的保护
  4. 删除远端旧分支:git push origin --delete old
  5. 通知同事更新本地:
git fetch origin
git branch -m old new
git branch -u origin/new new
git remote set-head origin -a

注意:删除远端分支、修改默认分支或保护分支,需要 Maintainer / Owner 权限;如果分支被保护,先临时取消保护或由 Maintainer 操作。


二、GitLab 网页端(默认分支相关)

  1. Repository → Branches:确认 new 分支已存在(没有就从 old 建一个)
  2. Settings → Repository → Default branch:把默认分支改成 new
  3. Repository → Branches:删除 old(若受保护,先在 Protected branches 里取消保护或复制规则到 new

三、TortoiseGit(你在用)

  1. 右键仓库 → TortoiseGit → Browse refs,右击本地 oldRenamenew

  2. 推送:右键 → TortoiseGit → Push

    • 设定 “Local branch: new → Remote branch: new”,勾选 --set-upstream(等价 -u
  3. 删除远端旧分支:

    • 仍在 Browse refs 中,右击 remotes/origin/oldDelete(或 Push 对话框把 Remote branch 填 :old 也会删除)

常见坑

  • 受保护分支:删除/强推会被拒;到 Settings → Repository → Protected branches 调整权限。
  • CI/MR 目标分支:改名后检查 Pipeline 变量、MR 目标分支是否需要改成新名字。
  • 权限不足:出现 pre-receive hook declinedprotected branch 多为权限/保护策略问题,请让 Maintainer 执行或临时放开规则。
http://www.dtcms.com/a/339420.html

相关文章:

  • Unity高级开发:反射原理深入解析与实践指南 C#
  • Java 线程状态与线程组
  • 水闸安全综合监测系统解决方案
  • Kafka 面试题及详细答案100道(1-10)-- 基础概念与架构
  • NestJS @Inject 装饰器入门教程
  • Hugging Face 核心组件介绍
  • 大功率变速箱总成双联试验台架系统参数
  • 机器人控制基础:运动控制中的串级pid原理以及实现方案(包含代码示例)
  • C/C++ 常见笔试题与陷阱详解
  • .net core web程序如何设置redis预热?
  • 【大白话解析】 OpenZeppelin 的 Address 库:Solidity安全地址交互工具箱​(附源代码)
  • Mybatis执行SQL流程(四)之MyBatis中JDK动态代理
  • Ansible 异步任务管理与内容重用详解
  • 10.Ansible角色管理
  • Ubuntu 和麒麟系统创建新用户 webapp、配置密码、赋予 sudo 权限并禁用 root 的 SSH 登录的详细
  • 网络间的通用语言TCP/IP-网络中的通用规则3
  • 缓存雪崩、缓存穿透、缓存击穿在实际中如何处理
  • Windows Git安装配置
  • PCL+Spigot服务器+python进行MC编程(使用Trae进行AI编程)---可以生成彩虹
  • 代码随想录Day56:图论(冗余连接、冗余连接II)
  • 【python】列表复制注意事项
  • 大模型+RPA:如何用AI实现企业流程自动化的“降本增效”?
  • 什么类型的项目会优先选择Headless CMS
  • 【habitat学习二】Habitat-Lab 快速入门指南(Quickstart)详解
  • 完美解决git报错拉取不到项目
  • 如何禁用 Windows 服务器的自动更新以避免意外重启
  • VMWare主机和客户机无法ping通
  • Android-ContentProvider的跨应用通信学习总结
  • Matplotlib数据可视化实战:Matplotlib安装与入门-跨平台环境配置与基本操作
  • 第四章:大模型(LLM)】07.Prompt工程-(2)Zero-shot Prompt