1. 引言

在使用 Git 管理代码库时,保持分支命名的清晰与规范是维护代码整洁的重要一环。有时我们可能需要重命名分支,比如修正拼写错误、提高描述性,或者统一命名规范。

本文将介绍如何在 Git 中重命名本地分支。我们会讲解 Git 分支重命名的基本原理、当前分支与非当前分支的重命名方法,并介绍如何通过配置别名简化操作流程。

2. Git 中的分支重命名机制

Git 提供了 git branch 命令用于管理分支。其中,配合 -m(也可写作 --move)参数可以实现分支的重命名功能。

⚠️ 这里的 -m 实际上代表“move”,即“移动”的意思。虽然本质上并不是真正的“移动”操作,但 Git 会将原分支名替换为新分支名,并更新相关的 reflog(引用日志)以记录这一变更。

这意味着,重命名操作并不会影响分支的历史记录,只是更改了分支的名称标签。

3. 重命名当前本地分支

✅ 如果你当前正处于某个分支上,可以使用如下命令直接重命名它:

$ git branch -m <new_name>

示例

假设当前所在分支名为 my-branch,你想将其重命名为 baeldung-branch

  1. 首先查看当前分支:
$ git branch
  main
* my-branch
  1. 执行重命名命令:
$ git branch -m baeldung-branch
  1. 再次确认分支名称是否已更改:
$ git branch
* baeldung-branch
  main

此时,当前分支名称已成功更改为 baeldung-branch

4. 重命名其他本地分支(无需切换)

有时候你可能并不想切换当前分支来重命名另一个分支,例如你正在处理某个功能,不想因为切换分支而中断当前工作。

✅ 在这种情况下,可以使用以下命令格式来重命名一个非当前分支:

$ git branch -m <current_name> <new_name>

示例

当前分支为 main,你想将另一个分支 my-branch 重命名为 baeldung-branch,而不想切换分支:

  1. 查看当前分支状态:
$ git branch
* main
  my-branch
  1. 直接执行重命名命令:
$ git branch -m my-branch baeldung-branch
  1. 确认是否成功:
$ git branch
* main
  baeldung-branch

可以看到,my-branch 已被重命名为 baeldung-branch,而你仍停留在 main 分支上。

5. 为 Git 分支重命名设置别名

为了简化操作,可以给 git branch -m 设置一个别名,比如 git rename

✅ 设置全局别名命令如下:

$ git config --global alias.rename 'branch -m'

如果你只想为某个特定仓库设置别名,去掉 --global 参数即可:

$ git config alias.rename 'branch -m'

设置完成后,你就可以使用如下命令进行重命名:

$ git rename <new_name>

如果是重命名其他分支:

$ git rename <current_name> <new_name>

这样可以节省输入时间,也更符合日常使用习惯。

6. 总结

本文介绍了如何在 Git 中重命名本地分支:

  • 使用 git branch -m <new_name> 可以重命名当前分支
  • 使用 git branch -m <current_name> <new_name> 可以在不切换分支的情况下重命名其他分支
  • 通过 git config 设置别名,可以简化命令输入,提高效率

这些操作都不会影响分支的历史记录,只是对分支名称的更改。在团队协作中,建议在重命名后及时通知其他成员,避免因分支名不一致导致的沟通问题。


原始标题:How to Rename a Local Git Branch