Git:可以重命名master吗? [复制]
Posted
技术标签:
【中文标题】Git:可以重命名master吗? [复制]【英文标题】:Git: Is it possible to rename master? [duplicate] 【发布时间】:2019-08-13 08:43:14 【问题描述】:是否可以在 git 中重命名 master
?
如果那不可能,有没有办法获得类似的结果?例如创建一个具有自定义名称的分支(比如 batman),将该分支设为新的 master 并删除旧的 master?
举例说明。这就是我现在拥有的:
user@machine gitprojectpath (master)
$
这就是我想要的
user@machine gitprojectpath (batman)
$
【问题讨论】:
master
在 git 中并不特殊。它经常被用作主要分支的事实是纯粹的约定。查看How do I rename a local Git branch?的重命名部分。
@RomainValeri 不完全。在 GitLab 中,推送到存储库的第一个分支(不一定命名为 master
)成为具有许多特殊含义的 默认分支。它是客户端在克隆上签出的默认分支,也是默认的合并请求目标。此外,它通常是受保护的。
你为什么要这个?
绝对可以!请参阅@JonathonReinhart 的回答。 @Bernhard:(名称)master
从技术角度来看并没有什么特别之处,它只是“默认”分支的 git 约定。同样适用于 origin
作为“默认”远程名称。
【参考方案1】:
是的。
首先,澄清你的问题。
在 GitLab 中,推送到存储库的第一个分支(不一定命名为 master
)成为具有特殊含义的默认分支。它是客户端在克隆上签出的默认分支,也是默认的合并请求目标。此外,它通常受到保护。
当您说“重命名 master”时,我假设您的意思是重命名分支,并且更改 GitLab 中的默认分支。
先在本地重命名分支。
git checkout master
git branch -m newname
然后推送到服务器
git push -u origin newname
现在转到 GitLab 网络用户界面。在设置 > 存储库下,将“默认分支”更改为 newname
。
您还需要确保将newname
标记为受保护,以防止意外丢失。
然后从分支页面删除 GitLab 上的master
。
话虽如此,请不要这样做。 master
是一个非常有名的约定,这种变化会让其他贡献者感到惊讶。
【讨论】:
“请不要这样做” - 也许 OP 已经使用他们的主分支进行发布,现在想将其重命名为“发布”(没有分支),这样其他一些开发分支可以用作新的主人吗?没有批评,只是想知道为什么要这样做...... :-) 这有意义吗? 这是另一个可能有人想要有效地重命名它的原因; zdnet.com/article/…以上是关于Git:可以重命名master吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章