如何重命名远程git分支名称
我有4个braches,像master - > origin / regacy,featureA - > origin / FeatureA。
正如你在上面看到的,我输入了一个错误的名字。
所以我想重命名远程分支名称(origin / regacy => origin / legacy或origin / master)
我尝试下面的命令。
git远程重命名regacy遗产
但是,git控制台向我反映了错误消息。
错误:无法将配置节'remote.regacy'重命名为'remote.legacy'
我怎么解决这个问题?
您不能直接重命名远程分支。
你必须删除它,然后重新推它。
重命名分支
# rename the local branch to the new name
git branch -m <old_name> <new_name>
# delete the old branch on remote - where <remote> is eg. origin
git push <remote> --delete old_name
# push the new branch to remote
git push <remote> new_name
重要的提示 :
当您使用git branch -m
(移动)时,git也会使用新名称更新您的跟踪分支。
git remote rename regacy legacy
git remote rename
是试图更新您的配置文件中的远程节。 它会将给定名称的远程名称重新命名为新名称,但在您的情况下,它没有找到任何名称,因此重命名失败。
但它不会做你的想法,它会重命名你的本地配置远程名称而不是远程分支。
注意 Git服务器可能允许您使用Web界面或外部程序(如Sourctree等)重命名git分支,但是您必须记住,在git中,所有工作均在本地完成,因此建议将上述命令用于工作。
如果您错误地命名了分支并将其推送到远程存储库,请按照以下步骤重新命名该分支(基于本文):
重命名您的本地分支:
如果你在你想重新命名的分支上:
git branch -m new-name
如果你在不同的分支上:
git branch -m old-name new-name
删除old-name
远程分支并推送new-name
本地分支 :
git push origin :old-name new-name
重置新名称本地分支的上游分支 :
切换到分支,然后:
git push origin -u new-name
似乎有一个直接的方法:
如果您真的只想远程重命名分支(无需同时重命名任何本地分支),则可以使用单个命令
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
https://stackoverflow.com/a/21302474/2586761
查看原始答案以获取更多详细信息
链接地址: http://www.djcxy.com/p/2609.html