Menu
CoddyTech

Git:重命名分支

最后更新

用 git branch -m 重命名分支(-m 表示“move”)。只给一个参数时,它重命名你当前所在的分支;给两个参数时,可以按名称重命名任意分支。重命名只发生在本地:如果分支已经推送过,还需要删除远程上的旧名称,再推送新名称。

在终端在线编辑器中试试这些命令:浏览器里就是真正的 shell,无需安装。

git branch -m 移动分支名称:提交不变,只换一个标签。

语法

命令作用
git branch -m new-name重命名当前所在的分支
git branch -m old-name new-name按名称重命名另一个分支
git branch -M new-name强制重命名(覆盖已存在的名称)

重命名已推送到远程的分支

重命名只在本地生效,所以已推送的分支还需要额外三步。

步骤命令结果
1git branch -m old new在本地重命名分支
2git push origin --delete old删除远程上的旧名称
3git push -u origin new推送新名称并设置上游

Git 重命名分支常见问题

怎么重命名当前所在的分支?
运行 git branch -m new-name,只写新名称即可。Git 会直接重命名当前分支:你仍然停留在这个分支上,提交和历史都不受影响。
不切换分支,怎么重命名它?
同时写上两个名称:git branch -m old-name new-name。即使你当前在另一个分支上,也会把 old-name 重命名为 new-name。
已经推送到 GitHub 的分支怎么重命名?
先用 git branch -m old new 在本地重命名,再用 git push origin --delete old 删除远程上的旧名称,最后用 git push -u origin new 推送新名称并设置上游。其他拥有旧分支的人需要更新他们的本地副本。
-m 和 -M 有什么区别?
-m(move)会重命名分支,但如果目标名称的分支已经存在,它会拒绝执行,避免你意外覆盖别的分支。-M 会强制重命名,覆盖同名的已有分支。除非你确实想覆盖,否则请用 -m。
可以在线练习吗?

可以。打开终端在线编辑器,就能在浏览器里的真实 shell 中运行这些命令,无需安装。Coddy 的免费互动 Git 课程也会完整讲解分支的用法。

Coddy 编程语言插图

在 Coddy 学习 Git

开始