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

kri*_*ris 6 github

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

Joe*_*hon 7

最简单的方法可能是在本地切换要成为新主控的分支的名称,然后强制推送它;当我们这样做时,我们可以备份旧主人以防万一。

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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

我们出于同样的原因拯救坏主人;我们可能想从中抢救一些东西。当您确定不需要它们时, Agit push origin :branch-to-remove将在稍后删除不需要的分支。


bit*_*oiu 5

有多种方法可以做到这一点,使用 WebUI 或使用 Git。但是,您在这里遇到的问题是您无法删除默认分支,并且默认分支通常是master. 无论您选择什么选项,请务必将存储库的新版本克隆到另一个文件夹,这样您就不会意外搞砸

使用网络用户界面:

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

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

  1. 跑步git push origin testing:master -f
  2. 删除testinggit push origin :testing

让我知道这个是否奏效。

  • 你能解释一下使用 git 的第 1 步到底在做什么吗?-f 是做什么的? (2认同)