关于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 [email protected]

这里出现: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 即可完成分支的合并。

相关推荐
会写诗的猫7 小时前
gitlab-runner 独立服务器部署
gitlab
极小狐1 天前
极狐GitLab 项目 API 的速率限制如何设置?
大数据·运维·git·elasticsearch·gitlab
rider1891 天前
【1】CICD持续集成-docker本地搭建gitlab代码仓库社区版
ci/cd·docker·gitlab
极小狐2 天前
极狐GitLab 登录限制如何设置?
ci/cd·gitlab·devops·mcp
极小狐2 天前
极狐GitLab 议题和史诗创建的速率限制如何设置?
linux·运维·数据库·git·安全·gitlab·极狐gitlab
极小狐2 天前
极狐GitLab 项目和群组的导入导出速率限制如何设置?
ci/cd·gitlab·devops·mcp
极小狐2 天前
极狐GitLab 账号限制有哪些?
运维·ssh·gitlab·github·极狐gitlab
半个脑袋儿2 天前
Git提交修正的核心技巧:git commit --amend 的专业实践与深度解析
git·gitlab
极小狐4 天前
极狐GitLab 外部流水线验证功能解读
运维·ssh·gitlab·极狐gitlab