关于GitLab代码仓库工具使用分享

前言

工作中我们经常使用到代码仓库,如:GitLab和GitHub。 在使用过程中,可能有的设置不知道在哪里,本文记录 GitLab 工具使用过程中角色分类、角色权限、仓库路径、分组、分支合并请求等基础知识,希望对你有所帮助。

GitLab和GitHub区别

  • 开源与闭源:GitLab是开源的,意味着它的源代码可以被任何人查看、修改和分发,而GitHub虽然提供了一些开源项目,但本身是闭源的。

  • 私有仓库:GitLab提供了无限的私有仓库,而GitHub的私有仓库数量有限,除非付费。

  • 集成和功能:GitLab提供了更全面的集成和功能,包括CI/CD、容器注册表等,而GitHub主要集中在代码托管和协作上。

  • 核心区别对比

维度 GitHub GitLab
定位 全球最大开源社区(社交化编程) 一体化DevOps平台(企业级全流程)
托管模式 公有云为主 支持公有云+私有化部署
CI/CD 需依赖GitHub Actions 内置GitLab CI/CD(.gitlab-ci.yml)
权限管理 基础团队权限 精细化权限(子组、分支保护等)
Wiki/文档 基础Wiki功能 内置文档系统+知识库管理
免费私有库 2019年后开放 始终支持免费私有库
典型用户 开源项目、个人开发者 企业团队、需要完整DevOps流程的组织

GitLab配置ssh拉取代码

mac查看本地是否有ssh密钥

cd ~/.ssh

ls查看当前文件夹,如果在输出的文件列表中发现id_rsaid_rsa.pub的存在,证明本地已经存在SSH密钥。

cat ./id_rsa.pub 查看公钥,复制

打开gitlab网站,点击头像-偏好设置-ssh密钥进行配置

  • 验证ssh是否成功

终端输入: ssh -T git@github.com

这里出现:successfully、Welcome即为绑定成功,可以看到我的github、gitlab的ssh都配置成功了!

之后就可以在gitlab中使用 ssh的方式进行拉取代码了。

GitLab角色相关

查看自己的角色权限

要查看自己在某个GitLab项目中的角色以及权限,操作如下:

  • 登录到GitLab。
  • 进入你想查看权限的项目页面。
  • 在左侧菜单中,点击 Members(成员)
  • 在成员列表中,你可以看到自己和其他成员的角色。

各角色权限级别

gitLab中的角色级别从低到高依次为:

  • Guest(访客):只能查看项目的公开内容。
  • Reporter(报告者):可以查看和克隆代码,但不能推送代码。
  • Developer(开发者):可以查看、克隆和推送代码。
  • Maintainer(维护者):管理员权限,可以管理项目设置和成员。
  • Owner(拥有者):拥有项目的所有权限(仅限于个人项目)。

各个角色拥有的权限(图片摘自网络):

分配权限

如果你是项目的 MaintainerOwner,分配权限操作如下:

  • 进入你想管理的项目页面。
  • 在左侧菜单中,点击 Members(成员)
  • 点击 Invite members(邀请成员) 按钮。
  • 输入成员的用户名或邮箱地址。
  • 选择适当的角色权限级别(Guest、Reporter、Developer、Maintainer)。
  • 点击Invite按钮。

组成员权限Project members permissions

任何用户都可以将自己从组中删除,除非他们是该组的最后一个所有者。下表描述了组中的各种用户权限级别。

参数说明:

  • Browse group:浏览分组信息

  • Edit group:修改分组

  • Create subgroup:创建子分组

  • Create project in group:给项目创建分组

  • Manage group members:管理分组成员

  • Remove group:删除分组

  • Manage group labels:管理分组标签

修改仓库访问路径、分组

左侧菜单【Settings】->【General】->【Advanced】->【Expand】->【Change path】,只能修改最后一段Path,其中不能再包含 /,修改后点击 "Change path" 即可

如果该仓库是有分组的还会出现如下内容:

可以对该仓库进行分组修改。

提交分支合并请求

左侧菜单点击:

  • repository
  • branches 可以看到分支
  • 选择要合并的分支,如:develop 点击 Merge request

提交请求后,等待有权限的管理员审核即可。

管理员收到分支请求后会看到如下界面,点击 merge 即可完成分支的合并。

相关推荐
Aliex_git4 天前
Dockerfile 优化实践笔记
笔记·学习·gitlab
成为你的宁宁5 天前
Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤
node.js·自动化·gitlab·jenkins·maven
sunshinebo5 天前
一次 GitLab 无法启动的排查:Docker 日志把 500G 磁盘打满
docker·eureka·gitlab
何以不说话5 天前
DevOps、Git 和 GitLab
git·gitlab·devops
ZAEQgyKFs8 天前
永磁同步电机模型预测电流控制+滑模控制 [1]速度环采用滑模控制 滑模控制器采用新型趋近律与扰...
gitlab
马克Markorg8 天前
使用 Docker Compose 本地部署 GitLab 教程
docker·容器·gitlab
大尚来也11 天前
CI/CD 流水线搭建实战:GitHub Actions vs GitLab CI 2026 深度对比与选型指南
ci/cd·gitlab·github
ProgramHan12 天前
github、gitlab、gitee分别都是什么,为什么不能访问?
gitee·gitlab·github
Aliex_git14 天前
Gitlab Runner 配置实践
笔记·学习·ci/cd·gitlab
阿莫西林夹馍14 天前
GitLab的IP地址发生变更导致Runner掉线
gitlab