gitlab项目如何修改主分支main为master以及可能遇到的问题详解

 更新时间:2024年11月12日 15:00:38   作者:一直在学习的小白~  
本文详细介绍了如何将Git仓库的主分支名称从main修改为master,包括本地和远程仓库的更改步骤,以及如何在GitLab上更改默认分支和删除受保护分支

如果你希望将 Git 仓库的主分支名称从 main 修改为 master

本地修改分支名称

首先,切换到 main 分支:

git checkout main

main 分支重命名为 master

git branch -m main master

更新远程仓库

  • 将本地更改推送到远程仓库(重命名后的分支 master):git push origin master
  • 删除远程的 main 分支:git push origin --delete main(此时可能会出现报错)

报错信息如下:

remote: GitLab: The default branch of a project cannot be deleted...

这是因为GitLab 的默认分支(通常是 mastermain)是无法直接删除的,因为它是项目的主分支。

此时需要

修改默认分支名称

如果你想删除 master 分支并将其替换为其他分支(例如 developfeature),首先需要更改 GitLab 上的默认分支。

通过 GitLab UI 修改默认分支:

  1. 进入 GitLab 项目的页面。
  2. 点击 Settings -> Repository
  3. Default branch 部分,选择一个新的默认分支。
  4. 点击 Save changes

这将更改 GitLab 中的默认分支。

删除 main 分支

1.取消保护 main 分支

  • 在同一设置页面的 Protected branches(受保护分支)部分,找到 main 分支。
  • 取消对 main 分支的保护(点击 Unprotect)。

2.删除 main 分支

  • 通过 GitLab Web 界面删除 main 分支:
  • Repository -> Branches 页面,找到 main 分支并点击右侧的垃圾桶图标删除。
  • 或者直接git push origin --delete main删除

3.删除本地 main 分支(可选): 如果你不再需要本地的 main 分支,可以删除本地分支:git branch -d main

如果此时在visual studio code上切换分支出现问题,并且在gitlab上刷新页面仍存在main分支,可能存在的原因:

1.本地引用未更新(本地 Git 缓存)

  • 即使你已经在 GitLab 上删除了 main 分支,本地的 Git 仍然会保留对远程分支的引用,直到你手动更新本地的远程引用。
  • 解决方法:删除之后运行以下命令来清理本地的远程引用:git fetch -p

2.检查分支的跟踪的远程分支是否正确

首先使用 以下命令查看所有本地分支的跟踪远程分支:

git branch -vv

发现跟踪的不对应这时需要更改master的本地分支跟踪的远程分支:

git branch --set-upstream-to=origin/<new-remote-branch> <local-branch>
  • <new-remote-branch>是你希望本地分支跟踪的远程分支(如 origin/master)。
  • <local-branch>是你当前所在的本地分支(如 master)。

例如,将本地 master 分支的远程跟踪分支改为 origin/master,因为之前是跟踪的main

git branch --set-upstream-to=origin/master master

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SonarQube实现自动化代码扫描的安装及使用集成方式

    SonarQube实现自动化代码扫描的安装及使用集成方式

    Sonar是一个用于代码质量管理的开源平台,通过插件机制,Sonar可与第三方工具进行集成。将Sonar引入到代码开发的过程中,提供静态源代码安全扫描能力,这无疑是安全左移的一次很好的尝试和探索
    2021-10-10
  • jQuery会死吗?我为什么不用vue写富文本

    jQuery会死吗?我为什么不用vue写富文本

    jQuery会死吗?我为什么不用vue写富文本,本文通过文字实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 浅析getway网关

    浅析getway网关

    这篇文章主要介绍了getway网关的相关知识,getway可以实现nginx的请求转发和跨域(@CrossOrigin也可以实现跨域),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • git详细安装教程及下载太慢的解决办法

    git详细安装教程及下载太慢的解决办法

    这篇文章主要介绍了git详细安装教程及下载太慢的解决办法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 解决HTTP服务响应数据不完整响应数据截断的问题

    解决HTTP服务响应数据不完整响应数据截断的问题

    这篇文章主要介绍了HTTP服务响应数据不完整响应数据截断的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 解决Git推送错误non-fast-forward的方法

    解决Git推送错误non-fast-forward的方法

    这篇文章介绍了解决Git推送错误non-fast-forward的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 如何在Unity中使用VR暴风魔镜蓝牙手柄

    如何在Unity中使用VR暴风魔镜蓝牙手柄

    鉴于某些手机在使用大朋SDK以及谷歌SDK时会出现神器的小屏现象(比如某想的)故为了能够最大程度的兼容更多的手机,决定使用暴风魔镜的SDK。废话不多说直接将使用暴风魔镜SDK时遇到的问题以及解决方案简单的罗列一下
    2021-09-09
  • 高性能WEB开发 页面呈现、重绘、回流。

    高性能WEB开发 页面呈现、重绘、回流。

    在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的,下面的流程图显示了浏览器对页面的呈现的处理流程。可能不同的浏览器略微会有些不同。但基本上都是类似的。
    2010-05-05
  • 关于Sourcetree启动问题(完美解决)

    关于Sourcetree启动问题(完美解决)

    文章讲述了SourceTree闪退的问题及其解决方法,源因为未关闭SourceTree而关机或系统更新导致缓存信息不匹配,解决方法是删除缓存文件或特定缓存目录中的[Composition.cache]文件
    2024-11-11
  • Azkaban报错-azkaban.executor.ExecutorManagerException: No active executors found

    Azkaban报错-azkaban.executor.ExecutorManagerException: No acti

    这篇文章主要介绍了Azkaban报错-azkaban.executor.ExecutorManagerException: No active executors found,本文给大家介绍的非常详细,需要的朋友可以参考下
    2020-05-05

最新评论