重命名本地和远程分支
有几种方法可以实现这一点:
- 更改你的本地分支,然后推送更改。
- 推送分支到远程时使用新名称,同时保留本地的原始名称。
重命名本地和远程
# 名称 - 允许你复制/粘贴命令
old_name=feature/old
new_name=feature/new
remote=origin
# 将本地分支重命名为新名称
git branch -m $old_name $new_name
# 删除远程上的旧分支
git push $remote --delete $old_name
# 或者更短的方式删除远程分支 []
git push $remote :$old_name
# 防止在下一步推送时使用旧名称。
# 否则,Git 将使用旧的上游名称而不是 $new_name。
git branch --unset-upstream $new_name
# 将新分支推送到远程
git push $remote $new_name
# 为新名称本地分支重置上游分支
git push $remote -u $new_name
仅重命名远程分支
# 在此选项中,我们将以新名称将分支推送到远程
# 同时保持本地名称不变
git push $remote $remote/$old_name:refs/heads/$new_name:$old_name
重要说明:
当你使用 git branch -m
(移动)时,Git 也会更新你的跟踪分支的新名称。
git remote rename legacy legacy
git remote rename
试图更新你的配置文件中的远程部分。它会将给定名称的远程重命名为新名称,但在你的情况下,它没有找到任何内容,因此重命名失败。
但它不会按你想的那样做;它会重命名你的本地配置远程名称,而不是远程分支。
注意
Git 服务器可能会允许你使用 Web 界面或外部程序(如 Sourcetree 等)重命名 Git 分支,但请记住,在 Git 中所有的工作都是本地完成的,因此建议使用上述命令进行工作。