如何使用Gitlab进行代码管理?

0.Gitlab安装部署

参考:https://www.pingface.com/archives/gitlab

1.设置logo及提示信息

如何使用Gitlab进行代码管理?

2.创建一个oldboy组

gitlab是基于组来控制用户对项目的访问的,一个组可以同时包含用户和项目,用户可以对自己组的项目进行访问.
如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?

3.创建一个项目:

如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?

4.添加秘钥认证

此时在上方已经有横幅提示,必须添加SSH key后才能对新创建的项目进行push和pull操作
如何使用Gitlab进行代码管理?

5.push到gitlab仓库

# 进入到仓库目录
$ cd /git_data
# 删除原来配置的github远程仓库,没有则不需要。
$ git remote remove origin
# 添加gitlab仓库为远程仓库
$ git remote add origin :oldboy/monitor.git
# 推送本地仓库到远程仓库
$ git push -u origin master
做这一步前需要设置用户名和邮箱哦,参考:
https://www.pingface.com/archives/git

6.取消注册功能

如何使用Gitlab进行代码管理?

7.创建dev用户

如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?
点击"Create User"后如下图设置dev用户密码:
如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?

8.将dev用户添加到oldboy组

如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?
此时dev用户就拥有了oldboy组中的项目的操作权限。

9.设置分支保护

仅允许master角色向master分支进行push以及merge操作。
如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?

10.dev用户克隆项目到本地

dev用户为开发环境,在另外的服务器上设置Git初始化,
参考文档:https://www.pingface.com/archives/git

# 设置 dev 用户信息
$ git config --global user.name dev
$ git config --global user.email 
# 克隆
$ git clone :oldboy/git_data.git
$ cd git_data
# 创建新分支并添加文件然后提交到远程 gitlab 仓库
$ git checkout -b dev
$ touch i
$ git add i
$ git commit -m ‘dev add i‘
$ git push -u origin dev
这里依旧要设置 dev 用户的 ssh 公钥,就不再演示。

11.dev用户创建合并分支请求

使用dev用户登录gitlab

如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?
如何使用Gitlab进行代码管理?

12.管理员用户接收合并请求

如何使用Gitlab进行代码管理?