git重命名分支需分两步:先用git branch -m重命名本地分支(当前分支直接写新名,其他分支需指定新旧名),再手动推送新分支、删除远程旧分支并设置上游。

Git 本身没有直接叫 git rename 的命令,但可以通过组合现有命令来安全、完整地重命名本地分支并同步更新远程分支。关键在于分两步:先重命名本地分支,再更新远程仓库的对应分支和追踪关系。
重命名本地分支(含当前所在分支)
使用 git branch -m 命令。如果要重命名当前分支,直接运行:
-
git branch -m 新分支名—— 最常用,适用于当前所在分支 -
git branch -m 旧分支名 新分支名—— 适用于不在该分支时重命名其他分支
⚠️ 注意:重命名后,原分支名立即失效,新分支自动继承原分支的所有提交历史和 HEAD 指向。
推送新分支名到远程并设置上游
重命名本地分支不会自动影响远程。需手动推送并建立追踪关系:
-
git push origin -u 新分支名—— 推送新分支,并设置 upstream(即--set-upstream) - 这一步会让
git status和git pull正常识别新分支与远程的关联
此时远程仓库中会同时存在旧分支和新分支(因为只是新增,未删除旧的)。
删除远程旧分支(可选但推荐)
为保持远程仓库整洁,应主动删除已废弃的旧分支名:
-
git push origin --delete 旧分支名(Git 2.0+ 推荐写法) - 或等价写法:
git push origin :旧分支名
执行后,远程仓库只剩新分支;其他协作者需手动更新他们的本地追踪信息(见下一条)。
协作者如何同步变更
团队成员不能仅靠 git pull 获取分支重命名信息。他们需要:
-
git fetch origin—— 获取远程最新分支列表(包括新增和删除) -
git branch -a—— 查看是否还保留对旧分支的本地追踪 - 若仍有
origin/旧分支名,可手动清理:git branch -r -d origin/旧分支名 - 然后切换到对应本地分支,运行
git branch --set-upstream-to=origin/新分支名更新追踪
建议在重命名前通知团队,并避免在旧分支上有未推送的提交。











