GitLab使用规范

时间:2024-10-21 21:40:02

文章目录

  • 一、简介
  • 二、SSH密钥
  • 三、汉化
  • 四、群组
  • 五、项目
    • 1、创建
    • 2、导入已有的项目
    • 3、添加开发者
    • 4、合并方式设置(重要)
    • 5、仓库
    • 6、分支保护(重要)
    • 7、开发过程(重要)
      • (1)检出项目到本地
      • (2)创建功能分支
      • (3)创建提交
      • (4)推送功能分支到GitLab仓库
      • (5)创建合并请求
      • (6)代码审核以及合并
      • (7)开发者删除功能分支
      • (8)拉取远程仓库开发分支到本地
    • 8、协同以及冲突解决(重要)
    • 9、提交记录
  • 六、议题
    • 1、建立里程碑
    • 2、建立议题
    • 3、看板
  • 七、wiki

一、简介

GitLab是一个可以私有化部署的Git项目仓库。它提供了强大的功能,包含了不仅仅以下功能:

  • 基础的项目托管功能
  • 分支权限管理
  • 支持合并请求(Merge Request)
  • 代码审查(Code Review)
  • 支持议题(issue)创建
  • 支持里程碑
  • 支持CI/CD
  • 内置了wiki

二、SSH密钥

使用给定账户登录后,如果要从仓库检出项目到本地,一般不使用https的方式,而是使用ssh,首先需要配置SSH密钥,步骤如下:

  • 进入设置页面
    在这里插入图片描述
  • 进入SSH密钥设置页面
    在这里插入图片描述

三、汉化

在这里插入图片描述

四、群组

群组,可以理解为项目的分类,比如:当有很多项目,在查找某一个项目的时候,会出现很长的项目列表,这个时候可以把项目按照不同的类别进行分类,这样就可以快速的定位到所要查找的项目的所在位置。
实际使用中,管理人员会预先创建好群组,然后设置权限,并把对应的开发者添加进来,开发者正常不创建群组。
在这里插入图片描述
如上图,这里总共有5个群组,其中第1个群组包含了2个子群组。

五、项目

项目,开发者工作中直接操作的对象。它会被管理员预先创建并设置权限,开发者正常不创建项目。项目在创建时会被归类到某一个群组下。
在这里插入图片描述
如上图,群组下包含了2个项目。

1、创建

在这里插入图片描述
在这里插入图片描述

2、导入已有的项目

如果已经存在项目,比如要导入Gogs上的项目,可以如下操作:
在这里插入图片描述

3、添加开发者

在这里插入图片描述
注意: 如果没有找到开发者,则对应的开发人员需要先登录下。

4、合并方式设置(重要)

重要: 基于公司规定的Git使用规范,必须对每个项目进行合并方式进行设置,必须设置为Fast Forward模式。
在这里插入图片描述
在这里插入图片描述

5、仓库

当项目中已经提交了代码或其他资源时,则会创建仓库。
在这里插入图片描述

6、分支保护(重要)

主干分支master和开发分支develop/版本号必须进行保护,只允许管理员操作。正常默认分支选择当前的开发分支。
在这里插入图片描述
在这里插入图片描述
受保护且不允许推送的分支可以在本地进行提交,但是无法推送到仓库,否则会弹窗报错,如:
在这里插入图片描述

7、开发过程(重要)

(1)检出项目到本地

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)创建功能分支

注意: 要从开发分支创建。
在这里插入图片描述

(3)创建提交

在这里插入图片描述
在这里插入图片描述

(4)推送功能分支到GitLab仓库

在这里插入图片描述
在这里插入图片描述
点击链接可以打开创建合并请求的页面。如:
在这里插入图片描述
说明: 可以选择在功能分支创建完毕就推送到GitLab仓库,也可以选择功能都在本地开发完毕在推送到GitLab仓库,建议创建完毕就推送,以防有些情况下本地电脑故障而导致代码没有备份而丢失。

(5)创建合并请求

可以在页面中点击任意有创建合并请求的按钮,如:
在这里插入图片描述
在这里插入图片描述

(6)代码审核以及合并

在这里插入图片描述
鼠标移到指定行,可以点击浮窗添加评论,如:
在这里插入图片描述
分支开发者必须对评论进行处理然后点击勾选,审核员才能合并,如:
在这里插入图片描述
否则,审核员无法合并,如:
在这里插入图片描述
当勾选后,审核员可以合并,如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(7)开发者删除功能分支

此时开发者的本地分支feature/add_config_file还存在,可以删除。
先切换到其他分支,比如切换到开发分支develop/1.0.0,如:
在这里插入图片描述
删除本地分支,如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除远程追踪分支,如:
在这里插入图片描述
在这里插入图片描述

(8)拉取远程仓库开发分支到本地

在这里插入图片描述
在这里插入图片描述

8、协同以及冲突解决(重要)

在实际开发过程中,由于多人协同工作,开发分支总是一直向前走,所以一些落后的功能分支提交合并请求后并无法直接合入,例如:
在这里插入图片描述
点击变基,后会自动变基,成功后,需要再次点击合并,如:
在这里插入图片描述
这是最理想的状态,但是当修改到同一处代码时,则会有冲突,无法直接合并,如:
在这里插入图片描述
那么就需要开发者先在本地进行,把功能分支变基到开发分支并解决冲突才可以合并,操作步骤为:

  • 在本地切换到开发分支develot/1.0.0,拉取GitLab仓库代码。
  • 在本地切换到功能分支,然后变基到本地开发分支,如:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 把功能分支再次推送到GitLab仓库,需要强制推送,如:
    在这里插入图片描述
    在这里插入图片描述
  • 审核人员重新进入合并页面(或者刷新下)可以进行合并,如:
    在这里插入图片描述

9、提交记录

采用此种Git操作流程,提交日志并不总是时间顺序的,如:
在这里插入图片描述

六、议题

当项目组开出或者拿到功能需求时,产品和研发管理者需要制定出研发周期,并进行任务安排,可以借助于议题和里程碑进行任务管理。

1、建立里程碑

在这里插入图片描述

2、建立议题

在这里插入图片描述

3、看板

通过看板可以跟踪项目进度,如:
在这里插入图片描述

七、wiki

GitLab内置了wiki系统,可以编写项目内相关文档,如:
在这里插入图片描述
在这里插入图片描述