有几种方法可以做到这一点:
- 更改您的本地分支,然后进行更改
- 用新名称将分支推送到远程,同时在本地保留原始名称
重命名本地和远程
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete <old_name>
# Or shorter way to delete remote branch [:]
git push <remote> :<old_name>
# Push the new branch to remote
git push <remote> <new_name>
# Reset the upstream branch for the new_name local branch
git push <remote> -u <new_name>
重命名仅远程分支
信用:ptim
# In this option, we will push the branch to the remote with the new name
# While keeping the local name as is
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中所有工作都是在本地完成的,因此建议使用上述命令去工作。