重命名远程git分支

我有2个git分支:master和experimental。

实验变得很好,我想让它成为主人。 我想我会重命名洗牌的东西,但这里是我得到的:

nutebook:Stuff nathan$ git remote rename master old error: Could not rename config section 'remote.master' to 'remote.old' 

我使用GitHub和Git-Tower。

以下是重命名您的主分支的指南。 它将同样轻松地重命名您的实验分支。

以下是我如何进行重命名。

首先,在你的工作树上,把主人重命名为别的东西。

 git branch -m master old-dev 

当你在分支上时,重命名一个分支可以工作,所以没有必要检查别的东西。

然后,在本地将维护分支(2.63分支)重命名为master:

 git branch -m 2.63-branch master 

现在,时间到了遥远的地方。 万一你搞砸了,你可能要确保你有最新的备份。 首先,删除远程的主人:

 git push origin :master 

现在,给遥远的你的新主人:

 git push origin master:refs/heads/master 

更新:当创build一个新的分支时,远程端需要refs / heads / prefix。 如果分支已经存在(如上面所做的主分支),只需要分支名称在远端。

…和你现在改名的老主人:

 git push origin old-dev:refs/heads/old-dev 

最后,删除维护分支的旧名称以防止混淆:

 git push origin :2.63-branch 

客户现在将获得“新”主分支。

看到这个网站。

我认为最简单的方法是签出实验分支,删除远程主分支,然后推送本地实验分支作为新的远程主分支。

 // delete the remote master branch by pushing null // (the space in front of the semicolon) in this branch git push origin :master // push local experimental to remote master git push origin experimental:master 

master是一个分支,而不是一个像origin的远程。 如果你想把你的实验工作交给你的主分支,只需将它合并到:

 git checkout master git merge experimental 

如果您是Mac用户,则可以使用GitHub Mac App( https://mac.github.com/ )重命名分支机构。

你试图做的是重命名远程回购从“主”到“旧”。 要重命名另一个仓库的分支,只需将其删除即可

 git push <remote> :<branch name> 

然后推它作为别的东西。