使用git和gitlab 进行协同开发流程

2016-11-04  本文已影响2088人  YichenWong

一、基本概念

1. 仓库(Repository)

2. 分支(Branch)

二、如何操作(仅做举例说明用)

Step 1:源仓库的构建

这一步通常由项目发起人(项目管理员)来操作,源仓库为devops/cmdb,并初始化两个分支master和develop.

Step 2:开发者fork源仓库

源仓库建立以后,每个开发就可以去复制一份源仓库到自己的gitlab账号中,然后作为自己开发所用的仓库。假设我是一个项目中的开发者,我就到devops/cmdb项目主页上去fork.

Step 3:把自己开发者仓库clone到本地
>>> git clone git@10.125.211.3:wangyichen/cmdb.git
Step 4:构建功能分支进行开发

假设现在要开发一个“资产收集”功能:
#首先切换到devlop分支
>>> git checkout develop

#分出一个功能性分支
>>> git checkout -b feature-gather_facts
#假设写好了功能,gather_facts.py就是我们开发的功能
>>> touch gather_facts.py

#测试没问题,提交更改
>>> git add.
>>> git commit -m "add gather facts feature "
#'finish gather_facts feature',现在我们功能开发完毕,切换回develop
>>> git checkout develop
#把完成的功能合并到develop分支
>>> git merge --no-ff feature-gather_facts
#删除功能性分支
>>> git branch -d feature-discuss
#把develop提交到自己的远程仓库中
>>> git push origin develop

此时,上自己gitlab的项目主页中develop分支中查看,已经有gather_facts.py这个文件了:

Step 5:向管理员提交pull request

在完成了“资产收集”功能(当然,也可能对自己的develop进行了多次合并,完成了多个功能),经过测试以后,觉得没问题,就可以发起Merge Request请求,让管理员把自己仓库的develop分支合并到源仓库的develop分支中。

Step 6 管理员测试、合并

管理员登陆gitlab,看到了开发者对源仓库发起的pull request。管理员需要做的事情就是:

  1. 对****开发者****的代码进行review

  2. 在他的本地测试新建一个测试分支,测试开发者的代码:
    # 进入管理员本地的develop分支

    git checkout develop

# 从develop分支中分出一个叫manager-develop的测试分支测试开发者的代码
>>> git checkout -b manager-develop
# 把开发者的代码pull到测试分支中,进行测试
>>> git pull git@10.125.211.3:wangyichen/cmdb.git develop

#判断是否同意合并到源仓库的develop中,如果经过测试没问题,可以把开发者的代码合并到源仓库的develop中:
>>> git checkout develop
>>> git merge --no-ff manager-develop
>>> git push origin develop

注:管理员一直在操作的仓库是源仓库。以上,就是一个git和gitlab协同工作流的基本步骤。

上一篇 下一篇

猜你喜欢

热点阅读