怎么设置维护分支

维护分支是干嘛的呢?

前面咱们在git flow工作流傍边介绍过,master|main(主分支)分支是上线分支,假设每个开发人员都能随意的在主分支push代码,假设上线的时分,哪个开发不小心把自己不需要上线的代码(有可能有很多bug)push到了主分支,上线的时分一起带上去了,那么形成的损失有可能无法挽回。所以咱们需要设置主分支不允许push,只能通过PR的方法把自己的代码兼并到主分支。

下面咱们来操作一下。在项目中找settings->Repository->Protected branches,挑选受维护的分支,这儿咱们的主分支是main,然后挑选merge权限为Maintainers,不允许任何人push代码到主分支。最终点击profect

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?
下面咱们来push一下代码试试

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?
能够很明显的看到,现已不让任何人推送代码了。要推送代码,只能别的新建分支去推送到长途,然后把代码兼并到主分支。

怎么提交Merge request

为什么会有Merge reqeust呢?

前面提到,main分支是咱们的维护分支,现已不需要本地push代码,那么咱们的代码怎么兼并到主分支呢?这时分就需要开发人员发起一个Merge reqeust来把咱们的代码兼并到main分支了。Merge request还有一个用途非常重要,那便是code review

何为code review呢?

code review翻译过来便是代码检查。一个公司,一个团队,对代码是有标准的,对代码是有要求的,对质量是有要求的,你写的代码是要通过你的leader检查的,才干兼并到主分支,所以这一步操作在你主管兼并之前,会吧你写的代码肉眼过一遍,确保不会呈现严峻线上问题才会给你兼并,假设有问题,会让你从头改代码从头提交Merge requst,直到契合上线要求。这样做的目的呢,也是为了确保上线不出问题,毕竟出了严峻的线上bug,你的leader是要承担责任和风险的,问题严峻的部门领导也跟着倒运。所以,咱们写代码的同时也要非常的严谨。

讲了这么多,下面咱们实际操作一下。

在本地新建一个dev分支,然后修正一些东西push到长途,首次推送需要运用git push -u origin dev,由于长途没有这个分支。

刷新页面能够看到,咱们现在在main分支,上面显现一个Create merge request按钮,这儿便是咱们发起merge请求的当地,点击一下

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?

进入到merge页面,这儿咱们能够看到咱们现在是想把dev分支merge到main分支,假设想兼并其他的分支,点击change branches即可修正。titledescription能够填写你提交merge相关的功能描述。

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?

AssigneeReviewer为受让人和检查人员,直白一点便是想的代码谁给你检查,你就挑选谁。

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?

这儿能够看到你本次兼并提交的commit信息和修正内容

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?

最终,点击Create merge request,即可发起一个merge请求,剩下的工作便是你的leader检查代码了。

你的leader看到的merge信息是这样子的,这儿他能够看到你的commits和changes,从而看到你的代码的修正内容。怎么没有问题,点击Merge按钮即可兼并。

Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?
Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?
Gitlab上手指南(七)|如何设置保护分支并且给自己的Leader提交一个PR?

以上便是一个完成Merge reqeust的过程以及它的重要性。

merge的过程中还能够涉及到CI/CD的一些工作,比如对代码标准做lint校验,代码单元测试等工作,后文会逐个讲到。