我有2个git分支:master和experimental。重命名远程git分支
实验变得很好,我想让它成为主人。我想我会重命名洗牌的东西,但这里是我得到的:
nutebook:Stuff nathan$ git remote rename master old
error: Could not rename config section 'remote.master' to 'remote.old'
我使用GitHub和Git-Tower。
我有2个git分支:master和experimental。重命名远程git分支
实验变得很好,我想让它成为主人。我想我会重命名洗牌的东西,但这里是我得到的:
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分支)重命名为 主:
git branch -m 2.63-branch master
现在,时间与远程混乱。万一你搞砸了,你可能想要确保你有最新的备份。首先,删除 远程的主人:
git push origin :master
而现在,给遥控你的新主人:
git push origin master:refs/heads/master
更新:当创建一个新的分支,裁判/头/前缀是 需要上遥远的一面。如果分支已经存在(如上面的主机做 ),只需要远程端的分支名称。
...和你现在更名为老师傅:
git push origin old-dev:refs/heads/old-dev
最后,删除维护分支的旧名,以避免混乱 :
git push origin :2.63-branch
客户现在将获得“新的'主分支时,他们拉。
请参阅this网站。
master
是一个分支,而不是像origin
这样的远程是。如果你希望你的试点工作,你的主分支,只需将其合并在:
git checkout master
git merge experimental
你试图做的是从“大师”重命名远程回购,以“老”。要重新命名另一个回购中的分支,只需将其删除即可
git push <remote> :<branch name>
然后将其推送为其他内容。
我认为最简单的方法是签实验分支,删除远程主分支,然后推动本地的实验作为一个新的远程主之一。
// 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
如果您是Mac用户,则可以使用GitHub Mac App(https://mac.github.com/)重命名分支。
要添加到这一点:当我想重新命名我的“高手”在github上,我首先要改变下的“设置”默认分支之前,它将让我删除它(即'混帐推产地:master'的)。 –
你能只在本地重命名分支,并将它推到远程,然后删除旧的? –
我觉得-u标志来推动是好的,因为它设置的新的远程为你,例如上游追踪'git push -u origin master'(使用git 1.7我不需要完整的refs/head前缀) –