(1)Gitlab安全认证
方式一:用户密码
IDEA-Git-勾选使用凭据帮助程序
方式二:Gitlab projects插件
Version Control —> GitLab –> Add New GitLab Server
1、公司Gitlab服务器地址
2、具体项目库git的地址
3、Gitlab服务器上配置的Token(注意:令牌权限勾选)
4、选择SSH
(2)Git合并请求流程
1.新建合并请求(选择需要合并请求的项目)
2.源分支dev1
3.目标分支选择main
4.比较分支并继续
5.指派人、审核者、里程碑、标记
6.批准
7.合并
说明:新分支可以提交、推送、没问题!
(3)给GitLab项目添加成员用户
Guest:访客角色:该角色可以在项目中创建issue、发表评论但是不能观看和修改GitLab项目代码。
Reporter:GitLab项目的测试人员:该角色在Guest角色权限基础上多了观看、克隆Gitlab项目的代码权限,但是不能提交项目代码,即只能看不能改。
Developer:GitLab项目的项目开发人员:该角色可以克隆、开发、提交项目代码。
Maintainer:GitLab项目的管理员:该角色可以创建项目、添加tag、保护分支、添加项目成员、编辑项目。核心RD负责人可以赋予这个权限。
Owner:Git系统管理员即Administrator:该角色拥有至高无上的权限。开发组leader可以赋予这个权限。
①、选择“Projects”的下“Your projects"选项
②、在“Your projects"Tab页面下点击对应的项目
③、在项目的左侧菜单栏里面选择点击“Members”选项
④:填写要添加成员的信息参数
⑤:添加成功后在下面看下项目成员信息。
⑥:添加权限后对应用户刷新项目页面即可看到对应的项目:
(3)merge权限规则原理说明:
问题:
关键只有merge 合并权限的责任人才能提交 merge 合并请求,没有 merge 合并权限的只能提交 merge 请求,等待有权限的 review 后合并。
将master,develop,release 三个分支设置成只允许 maintainers merge,不允许任何人 push,也即杜绝了从本地 merge,push 到远端的情况
设置-仓库-允许请求/允许合并?????????????????
第一步开发分支代码修改,提交,push到远端
feature 的开发分支不做具体的保护设置,即开发人员可以修改后,add,commit,push
第二步create merge request
开发人员push 到远端后,gitlab 上新 push 的 feature 分支,会有一个按钮 【创建合并请求】,点击发起 merge 请求
进到页面,点击 【更改分支】进入分支选择页面,选择 合并分支 和 被合并分支,这里选择的是 dev 到 main
然后点击【compare branches and continue】,回到合并请求页面。选择 指派人 和 审核者,选择完后点击【创建 合并请求】发起合并请求
备注:社区版只能选择一个指派人(assignee) 和 审核者(reviewer )
选择规则:
指派人:选择项目的负责人(maintainer),此人拥有合并请求的权限
审核者:选择开发者自己之外的另一个开发者
第三步code review
收到通知的reviewer 通过 合并请求 页面可以看到代码修改记录,并增加 commond,其他人也可以通过commond 进行讨论。
最后项目负责人可以点击【合并】通过或者点击右下角的【关闭合并请求】不通过合并请求。
第四步查看所有合并请求
在项目页面的合并请求页面可以看到所有开发状态,关闭状态和已合并状态的合并请求