跳至内容
GitTree
Git 指南阅读 1 分钟

如何在本地和远程重命名 Git 分支

重命名本地分支只需一个命令。远程仓库无法重命名,因此您可以推送新名称并删除旧名称。这是整个序列,包括你的队友需要做什么。

撰写者 Kodmora

GitTree 背后的软件公司

已更新
  • 分支
  • 远程仓库和推送
在此页面上

要重命名您所在的分支,请运行 `git branch -m new-name`。 要重命名另一个分支,请运行 git branch -m old-name new-name。如果分支位于远程,请使用 git push -u origin new-name 推送新名称,然后使用 git push origin --delete old-name 删除旧名称。

如何重命名本地 Git 分支?

# the branch you are on
git branch -m feature/search-box

# any other branch
git branch -m feature/search feature/search-box

提交不会改变,Git 会随之移动分支的引用日志。 -m 拒绝替换已有新名称的分支。 -M 会强制执行此操作,因此仅当您打算扔掉另一个分支时才使用它。

如何重命名远程分支?

Git 没有远程重命名。您按以下顺序发布新名称并删除旧名称:

  1. 重命名本地分支:git branch -m old-name new-name
  2. 推送并设置上游:git push -u origin new-name
  3. 删除旧名称:git push origin --delete old-name

跳过 -u,分支将继续跟踪旧的远程名称。您可以稍后使用 git branch -u origin/new-name 修复该问题。关于远程和上游 的课程解释了跟踪的作用。

我的队友需要做什么?

他们的克隆人仍然使用旧名称。每个人运行一次:

git fetch origin --prune
git branch -m old-name new-name
git branch -u origin/new-name new-name

如何重命名默认分支?

使用主机的设置,而不是上面的命令,因为默认分支也是服务器上的设置,并且打开拉取请求指向它。重命名后,每个人都会更新其克隆,如图所示,并刷新远程的默认值:

git remote set-head origin -a

为什么仅区分大小写的重命名会失败?

许多文件系统将 Feature 和 feature 视为相同的名称,Git 通常将分支存储为文件。浏览一个临时名称:

git branch -m Feature feature-tmp
git branch -m feature-tmp feature

如何重命名 GitTree 中的分支

  1. 打开分支的菜单

    右键单击图中的分支标签。菜单为每个操作中的分支命名,例如重命名功能/搜索...。

  2. 重命名它

    输入新名称并按重命名。它的上游设置也随之移动。

  3. 更新远程仓库

    远程上的分支将保留其旧名称,直到您推送重命名的分支为止。然后从分支的菜单中删除旧名称。

重命名和删除分支 的指南包含详细信息,而如何删除分支 则涵盖了清理旧名称的内容。

重命名位于 GitTree 的分支菜单中,位于“签出”和“删除”旁边。
重命名位于 GitTree 的分支菜单中,位于“签出”和“删除”旁边。

常见问题

重命名分支会改变其提交吗?

不会。分支是指向提交的名称,因此只有名称发生变化。没有哈希更改,也没有人需要重新设置基准。

我可以在分支上重命名它吗?

是的。 git branch -m new-name 重命名当前分支,并且您可以留在该分支上。

是否有 git rename 远程分支命令?

否。推送新名称,然后删除旧名称。一些主机在其 Web 界面中提供重命名,这也会附加拉取请求。

git分支-M有什么作用?

即使新名称已经存在,它也会重命名分支,并替换该分支。除非您愿意,否则请使用 -m。

为什么我的分支仍然推送到旧名称?

它的上游仍然指向那里。运行 git branch -u origin/new-name 或使用 git push -u origin new-name 推送一次。

来源

有关其他产品的声明已根据其位于 2026年11月7日 的官方页面进行了检查。价格和功能发生变化;供应商的页面是事实的来源。