Git:是否可以重命名master?

Gio*_*Gio 1 git gitlab

是否可以master在git中重命名?
如果不可能,有没有办法获得类似的结果?例如,创建一个具有自定义名称的分支(比如batman),将该分支设为新的主分支并删除旧的主分支?

举个例子。这就是我现在所拥有的:

user@machine gitprojectpath (master)
$
Run Code Online (Sandbox Code Playgroud)

这就是我想要的

user@machine gitprojectpath (batman)
$
Run Code Online (Sandbox Code Playgroud)

Jon*_*art 5

是的。

首先,澄清你的问题。

在 GitLab 中,推送到存储库的第一个分支(不一定名为master)将成为具有特殊含义的默认分支。它是客户端在克隆上签出的默认分支,也是默认合并请求目标。此外,它通常受到保护。

当你说“重命名 master”时,我假设你的意思是重命名分支,更改 GitLab 中的默认分支。

首先在本地重命名分支。

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

然后推送到服务器

git push -u origin newname
Run Code Online (Sandbox Code Playgroud)

现在转到 GitLab Web UI。在“设置”>“存储库”下,将“默认分支”更改为newname.

您还需要确保newname标记为受保护,以防止因强制推送而意外丢失。

然后master从分支页面删除 GitLab 上的内容。


话虽如此,请不要这样做master是一个非常知名的约定,这种变化会让其他贡献者感到惊讶。

  • 这是有人可能想要有效地重命名它的另一个原因;https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/ (7认同)
  • _“请不要这样做”_ - 也许OP已经使用他们的master分支进行发布,现在想将其重命名为“release”(没有分支),以便其他一些开发分支可以用作新的master?没有批评,只是一个想法为什么要这样做......:-) 这有意义吗? (2认同)