一、创建用户

1.填写用户信息

2.分配权限

3.修改用户初始密码


然后保存修改

二、将用户添加到指定的项目组


这里就看到我们添加的张三用户了

1.使用张三的身份克隆代码

[root@node-2 data]# git clone http://zhangsan@pangbing.com/root/taikang_test.git
Cloning into 'taikang_test'...
Password for 'http://zhangsan@pangbing.com':
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.[root@node-2 data]# cd taikang_test/
[root@node-2 taikang_test]# ls
readme  rootv1
[root@node-2 taikang_test]# touch zhangsanv1
[root@node-2 taikang_test]# ls
readme  rootv1  zhangsanv1
[root@node-2 taikang_test]# git add -A
[root@node-2 taikang_test]# git commit -m 'zhangsanv1'
[master 352056b] zhangsanv11 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 zhangsanv1

2.提交代码

[root@node-2 taikang_test]# git push origin master
Password for 'http://zhangsan@pangbing.com':
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 274 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To http://zhangsan@pangbing.com/root/taikang_test.git! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://zhangsan@pangbing.com/root/taikang_test.git'这时候我们提交代码报了一个错误

2.1 全局分支保护

这是因为默认 master 分支是处于被保护状态下的,develop 角色是没有权限提交到 master 分支的。这是全局配置的分支保护

完全保护:开发人员不能推送提交,只有主程序员可以。不允许任何人强制推送或删除分支

2.2 项目分支保护功能

在每一个项目中都可以设置属于自己的项目的分支保护

由此可以看出上边提交代码错误,是因为zhangsan是开发者,没有权限提交到gitlab代码库

3.修改用户提交权限


这样就开发者也就可以提交到master分支了。或者把zhangsan直接变成

[root@node-2 taikang_test]# git add -A
[root@node-2 taikang_test]# git commit -m 'zhangsanv1'
[master 3a22927] zhangsanv11 file changed, 1 insertion(+)
[root@node-2 taikang_test]# git push origin  master
Password for 'http://zhangsan@pangbing.com':
Counting objects: 8, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 524 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To http://zhangsan@pangbing.com/root/taikang_test.git2960619..3a22927  master -> master

三、生产中分支保护设置

在实际生产中 会设置一个test的分支,允许开发和主程序员同时push代码。但是master只能主程序员可以push.然后在将test分支合并到master分支上

四、复现生产分支保护设置

1.新建分支

图1:
图2:

图3:分支已经创建完成

2.分支上新建文件

3.客户端克隆仓库

#以zhangsan用户的身份克隆仓库[root@node-2 data]# git clone http://zhangsan@pangbing.com/root/taikang_test.git
Cloning into 'taikang_test'...
Password for 'http://zhangsan@pangbing.com':
remote: Counting objects: 26, done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 26 (delta 3), reused 11 (delta 2)
Unpacking objects: 100% (26/26), done.

虽然刚克隆下来的时候没有test-500分支,其实已经克隆下来了 直接切换分支即可。这里发现test-500文件也存在

[root@node-2 data]# cd taikang_test/
[root@node-2 taikang_test]# ls
readme  zhangsanv1
[root@node-2 taikang_test]# git branch
* master
[root@node-2 taikang_test]# git checkout test-500
Branch test-500 set up to track remote branch test-500 from origin.
Switched to a new branch 'test-500'
[root@node-2 taikang_test]# ls
readme  test-500  zhangsanv1

在test-500分支上创建新文件在提交

[root@node-2 taikang_test]# touch test01
[root@node-2 taikang_test]# echo "test01" > test01
[root@node-2 taikang_test]# git add -A
[root@node-2 taikang_test]# git commit -m 'test01'
[test-500 5e6f503] test011 file changed, 1 insertion(+)create mode 100644 test01[root@node-2 taikang_test]# git push origin test-500
Password for 'http://zhangsan@pangbing.com':
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 332 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for test-500, visit:
remote:   http://pangbing.com/root/taikang_test/merge_requests/new?merge_request%5Bsource_branch%5D=test-500
remote:
To http://zhangsan@pangbing.com/root/taikang_test.gitf358476..5e6f503  test-500 -> test-500

4.以zhangsan的身份登录gitlab

图1:

图2:

在这里发现 系统会自动提示在taikang_test项目中有可以合并分支的请求

当然点击项目进入项目主页之后也会看到

5.发送合并代码请求

图1:
图2:

6.使用管理员登录gitlab 处理合并请求


图2:

图3:

图4:

7.验证合并

此时我们发现在master上已经有test-500分支上的文件了

gitlab 分支保护相关推荐

  1. GitLab分支介绍

    GitLab简介: GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能.使用Git作为代码管理工具,并在此基础上搭建起来的we ...

  2. jenkins动态获取gitlab分支

    为什么要动态获取gitlab分支? 每个项目代码库都会有不同的分支,(如果你没有用多分支流水线的情况下)对于普通的流水线项目我们可以 让一条流水线来支持多个分支的发布,其实有时候你会发现每个分支的集成 ...

  3. gitlab受保护分支不能推送问题

    不能推送master分支是因为默认情况下,master分支是受保护的,受保护的分支默认情况下,只允许Masters角色推送,不允许Developers推送,可以通过以下操作进行修改 一.进入项目,点击 ...

  4. gitLab 分支受保护设置

    打开项目点击Repository 点击下面的Branches 点击project settings 对应分支与权限组设置 本文转自yzy121403725 51CTO博客,原文链接:http://bl ...

  5. git分支拉项目_Git 拉取 GitLab 分支上的项目

    一.选择一个空文件夹用来储存克隆下来的项目,然后鼠标右键选择git bash here,然后输入命令 git clone + 自己Git库的地址 二.从dev分支上更新代码 1.与远程仓库建立连接:g ...

  6. idea 拉取gitlab分支项目_如何删除gitlab上的文件夹?

    使用idea提代码的时候,不小把.idea文件夹也提交到了远程仓库... 我怎么这么粗心!! gitlab上只支持删除文件,不支持删除文件夹,况且200多个文件,一个一个删除,也太low了吧. 解决办 ...

  7. gitlab 删除分支_idea gitlab 分支 pull、push 实践笔记

    idea 功能太强大了,可惜自己使用时间还不久,它的很多功能还不会用. 最近开始使用它自带插件进行 gitlab 源码管理,感觉极大的提升了开发效率. 之前一直使用 SourceTree for Ma ...

  8. 新建gitlab分支

    方法一.直接在gitlab上新建分支 1.点击进入相应的仓库 2.点击"+",然后选择"New branch" 3.填好"Branch name&qu ...

  9. gitlab 分支合并 冲突处理

    1.使用 gitlab 创建合并请求 master 合并到 branch_test --> compare branches and continue --> submit merge r ...

最新文章

  1. 局域网共享问题解决方法!
  2. Office安装时报错1907的解决方法
  3. 倒计时321控制器设置
  4. python建立数据库表格
  5. 挺起你作为一个中国人的脊梁骨
  6. OpenCV——绘制基本图形
  7. 【高德地图API】从零开始学高德JS API(六)坐标转换
  8. Haproxy基于ACL做访问控制
  9. 算法导论4--求最大和数组
  10. lt;转gt;Java转iOS-第一个项目总结(2):遇到问题和解决方案
  11. 压缩软件能否加上忽略某些目录的功能
  12. 十天学会单片机Day4串行口通信
  13. Ubuntu 16.04 安装 破解版的PyCharm
  14. 微信小程序红包 php,微信小程序实现红包功能(后端PHP实现逻辑)
  15. mysql 1677_mysql5.6同步,Last_SQL_Errno: 1677
  16. VBS 请求WebAPI接口_从零开始实现简单的webapi框架【Golang 入门系列十一】
  17. rand()函数详解
  18. MysqlSql数据库事务特性
  19. 采用粒子群优化算法实现投资组合优化【Matlab实现】
  20. spark-3.1.2兼容多版本hive

热门文章

  1. opengl与显卡驱动的关系
  2. Lambda表达式效率低
  3. 学英语最有效的办法:模仿+重复!
  4. matlab 鼠标画图,在matlab中使用鼠标在GUI上绘图
  5. 微信小程序 评论input 弹出框
  6. 计算机技术在机械设计中的应用,计算机技术在机械设计制造及其自动化中的应用...
  7. 算法:经典题五 题目五 信封套娃层数问题 转化为 数组最长递增子序列问题
  8. 从你的全世界路过-Freedom
  9. 3秒解一元二次不等式
  10. 简单步骤:Android studio 内容观察者 - 实现数据变化监测