如何删除master分支并重命名其他分支master?

时间:2019-03-06 20:32:35

标签: github

我有两个分支,主分支和测试分支。我需要删除master分支,然后将测试重命名为master并将其设置为默认值。有关如何执行此操作的任何提示?

2 个答案:

答案 0 :(得分:0)

使用WebUI或Git有几种方法可以做到这一点。但是,这里的问题是您无法删除默认分支,并且默认分支通常为master。不管您使用什么选项,请将存储库的新版本克隆到另一个文件夹中,以免造成意外混乱

使用WebUI:

  1. 遵循此guide将默认分支更改为测试
  2. 从分支视图中删除master
  3. 转到分支下拉列表,然后在testing上输入master,GitHub将提供从testingmaster的分支。此时它们是相同的,即它们指向完全相同的提交。
  4. 返回(1)中提到的指南,并将默认分支更改为master
  5. 从分支视图中删除testing

使用Git (假设本地存储库与上游保持最新):

  1. 运行git push origin testing:master -f
  2. 删除testinggit push origin :testing

让我知道是否可行。

答案 1 :(得分:0)

在本地切换要创建新主节点的分支的名称,然后强制将其推送最简单;在进行此操作时,我们可以备份旧的主机,以防万一。

git branch -m master old-master
git branch -m testing master
# old master saved, new master is now `master`

git push -f origin master
# master overridden in the repo

git push -f origin old-master
git branch -d old-master
# Old master backed up, removed locally

请记住,与您合作的任何人都需要解决他们的分支机构与新的主管之间的任何冲突。

old-master分支在服务器上只占用很少的空间,因此,如果出于某些原因我们确实必须退回该分支,那么它是一个很好的安全网。您将执行类似于我们在此处所做的还​​原操作。

git branch -m master erroneous-master
git checkout -b master origin/old-master
git push -f master origin/master
git push -f erroneous-master origin/erroneous-master

出于同样的原因,我们拯救了错误的主人;我们可能想从中拯救事物。 当您确定不需要它们时,git push origin :branch-to-remove将在以后删除不需要的分支。