重命名远程git分支

Nat*_*n H 36 git github

我有2个git分支:硕士和实验.

实验变得很好,我想让它成为主人.我想我会重新命名以改变周围的东西,但这是我得到的:

nutebook:Stuff nathan$ git remote rename master old
error: Could not rename config section 'remote.master' to 'remote.old'
Run Code Online (Sandbox Code Playgroud)

我使用GitHub和Git-Tower.

djh*_*987 56

以下是重命名主分支的指南.它可以轻松地重命名您的实验分支.

这是我如何重命名.

首先,在您的工作树中,本地将master重命名为其他内容.

git branch -m master old-dev
Run Code Online (Sandbox Code Playgroud)

当你在分支机构时重命名分支确实有效,所以不需要签出其他东西.

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

git branch -m 2.63-branch master
Run Code Online (Sandbox Code Playgroud)

现在,是时候搞乱了遥控器.如果你搞砸了,你可能想确保你有一个当前的备份.首先,删除遥控器的主人:

git push origin :master
Run Code Online (Sandbox Code Playgroud)

现在,给遥控器你的新主人:

git push origin master:refs/heads/master
Run Code Online (Sandbox Code Playgroud)

更新:创建新分支时,远程端需要refs/heads /前缀.如果分支已经存在(如上所述),则远程端只需要分支名称.

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

git push origin old-dev:refs/heads/old-dev
Run Code Online (Sandbox Code Playgroud)

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

git push origin :2.63-branch
Run Code Online (Sandbox Code Playgroud)

客户现在将在他们拉动时获得"新"主分支.

看到这个网站.

  • 添加到这个:当我想在github上重命名我的'master'时,我首先必须更改'settings'下的默认分支才能让我删除它(即`git push origin:master`). (7认同)