分支改名是什么
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 重新建立。