Gitlab多人协作开发

        最近团队全面切换到git,使用的工具是gitlab。以前使用githu都是fork别人的项目然后再发起pull request,然后再Accept merge request。刚开始用gitlab我也以为是这种协作开发方式,每次提交要发起一个pull request,然后再Accept merge request,搞得团队怨声载道。仔细一想,这么流行的项目,如果真这么复杂,不会有多少人用吧,有可能是我们用错了。于是到处找资料啃,确实是用错了。下面详细讲解一下在gitlab下如何多人协作开发。

        我们先从版本策略说起。我们的版本策略是这样的,如下图。master是主干,开发在分支中进行,开发完成后将分支的代码合并到master,测试master后再打tag。

Gitlab多人协作开发_第1张图片

       版本策略制定好了,下面是具体操作步骤。

1、建立项目及添加成员

       在gitlab右上角点击加号图标,如下图,则进入新建功能页面。输入工程名project,选择开放的级别(内部使用,一般是public),


       建好以后,在Settings页面选择Members,在右侧选择“New Project member”,将项目成员添加进去。如下图。

Gitlab多人协作开发_第2张图片

         执行如下命令初始化项目。

git clone http://127.0.0.1/administrator/project.git
cd project 
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:administrator/project.git

git push -u origin master

         初始化以后给项目建立分支,如下图所在位置。输入分支名称branch-0.1,“create from”输入 master。

2、在分支进行开发

         在第1步中添加的项目成员执行如下操作:

git clone http://127.0.0.1/administrator/project.git
cd project
git checkout branch-0.1
         现在就可以在该分支下开发了。后续再提交代码,如果有冲突正常解决冲突。
git add ....
git commit
git push origin branch-0.1(这里一定不要提交到master啊)

3、合并分支

         项目owner切换到master,然后执行merge就行了。

git checkout master
git merge --no-ff branch-0.1
git push origin master

4、总结

  • 上面我只用的分支策略有点像使用svn,从这个角度去用的话大家都能接受。
  • git博大精深,我只查找了1天资料,所以在认识上可能还有问题,或者说我这种使用方式也不符合git的风格。先这么用着,以后慢慢研究,等有了新的认识再更新。


5、参考资料

Git Reference

Git merge 合并分区详解

花20分钟写的-大白话讲解如何给github上项目贡献代码

Understanding the Git Workflow

A successful Git branching model

使用GitHub进行团队合作

Git分支管理策略



你可能感兴趣的:(Git)