首页/开发/Git 与协作速查/git branch -m 分支改名

git branch -m 分支改名

修改本地分支名:-m <新名> 或 -m <旧名> <新名>;远端同步需要「推新分支 + 删旧分支」两步。

Git 与协作速查开发更新于 2026-10-13

分支改名是什么

git branch -m 修改本地分支名:只给一个新名字就改当前分支,给旧名与新名两个参数则改指定分支,-M 允许覆盖已存在的同名分支。改名只是本地动作,远端分支不会跟着变,需要「推新分支 + 删旧分支」两步同步;评审平台上以旧分支为来源的请求也不会自动跟随。

基本信息

改当前分支git branch -m <新名>
改指定分支git branch -m <旧名> <新名>
覆盖同名使用 -M
远端同步推新分支,再删旧分支
跟踪关系新分支需重新用 push -u 建立上游

典型使用场景

  • 分支名与团队命名规范不符时统一改名
  • 改动方向变了,旧分支名已经不再准确
  • 修正分支名里的拼写错误
  • 对齐命名以便自动化工具或工单系统关联
  • 把随手起的临时分支名改成可追溯的功能名再推送
  • 重命名主分支后同步调整本地与远端

常用示例

常用示例
git branch -m feature/login-auth        # 改当前所在分支的名称
git branch -m old-name new-name         # 改指定分支的名称,无需先切过去
git branch -M new-name                  # 目标名已存在时强制覆盖
git push -u origin feature/login-auth    # 推送新分支并重设上游
git push origin --delete old-name        # 删除远端旧分支
git branch -vv                          # 确认跟踪关系指向正确

操作对照

动作命令说明
改当前分支git branch -m 新名最常用,改完即可继续推送
改指定分支git branch -m 旧名 新名不需要先切到那个分支
覆盖同名git branch -M 新名会覆盖已存在的同名分支
同步远端先推新名再删旧名分两步完成,顺序不能颠倒
改名后尽快推送新分支并告知评审者,避免评审流程挂在旧分支上。已经以旧分支为来源的评审请求在旧分支被删除时通常会被关闭,需要重新发起或调整目标分支。
改名不会自动迁移上游设置,用 branch -vv 确认跟踪指向;上游丢失时用 push -u 重新建立。

易错点

  • 改名只是本地动作,远端不会自动跟随,评审平台上的关联记录仍停留在旧分支名上
  • 已建立的跟踪关系需要重建,不确认的话推送可能落到错误的远端分支
  • 先删旧分支再推新分支会导致以旧分支为来源的评审请求被关闭,正确顺序是先推新分支再删旧分支
  • 使用 -M 覆盖同名分支会丢掉目标分支原有的提交,动手前先确认那个分支确实可以丢弃

数据来源与参考

  • Git 官方文档:git-branch(-m/-M)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌