gitlab如何实现代码分支管理(只有思路没有解决方案)
2016-12-19 14:04
369 查看
当前碰到的问题(现结单采取策略一):
策略一、每个开发者都能够push代码到dev分支,而没有审核,同时也能发起由dev分支向master分支的merge请求,这无法实现代码控制。
流程如下:
l 从源仓库clone代码到本地
l 向源仓库dev分支push代码,开发者没有权限push到master分支
l 开发者可以发起dev向master分支的merge请求。(所有dev都有权限发起merge请求,但是只有管理员做merge)
l 管理员review代码接收merge请求
l master打一个tag作为本次上线版本
策略二、理想的环境是,用户每一次push都是提交到自己的gitlab仓库,然后再从自身的gitlab仓库发起对源仓库的merge代码合并。管理员在这一刻起到代码审核的作用。但是这导致了流程的复杂化。
流程如下:
l 从源仓库fork代码到自己主页
l clone主页代码到本地
l 向自己的主页push代码
l 由自己主页向源仓库dev分支发起merge请求
l 管理员review审核代码是否允许merge请求
l 所有开发人员完成一阶段的开发后,管理员向源仓库master发起merge请求
l master打一个tag作为本次上线版本
策略三、任意开发者都不能向dev push和merge,只能通过commit branch然后提交merge来合并代码。(策略三解决冲突很麻烦,暂时不使用)
l 从源仓库clone代码到本地
l 在本地创建功能分支,然后把分支提交到平台上
l 在平台上发起merge请求,把feature分支合并到dev分支。(不允许向master分支发起merge)
l 管理员review代码接收merge请求
l master打一个tag作为本次上线版本
策略一、每个开发者都能够push代码到dev分支,而没有审核,同时也能发起由dev分支向master分支的merge请求,这无法实现代码控制。
流程如下:
l 从源仓库clone代码到本地
l 向源仓库dev分支push代码,开发者没有权限push到master分支
l 开发者可以发起dev向master分支的merge请求。(所有dev都有权限发起merge请求,但是只有管理员做merge)
l 管理员review代码接收merge请求
l master打一个tag作为本次上线版本
策略二、理想的环境是,用户每一次push都是提交到自己的gitlab仓库,然后再从自身的gitlab仓库发起对源仓库的merge代码合并。管理员在这一刻起到代码审核的作用。但是这导致了流程的复杂化。
流程如下:
l 从源仓库fork代码到自己主页
l clone主页代码到本地
l 向自己的主页push代码
l 由自己主页向源仓库dev分支发起merge请求
l 管理员review审核代码是否允许merge请求
l 所有开发人员完成一阶段的开发后,管理员向源仓库master发起merge请求
l master打一个tag作为本次上线版本
策略三、任意开发者都不能向dev push和merge,只能通过commit branch然后提交merge来合并代码。(策略三解决冲突很麻烦,暂时不使用)
l 从源仓库clone代码到本地
l 在本地创建功能分支,然后把分支提交到平台上
l 在平台上发起merge请求,把feature分支合并到dev分支。(不允许向master分支发起merge)
l 管理员review代码接收merge请求
l master打一个tag作为本次上线版本
相关文章推荐
- 如何在浏览器中打开PDF文件并实现预览的思路与代码
- [置顶] 如何在浏览器中打开PDF文件并实现预览的思路与代码
- 实现二级菜单的一种方式--没有js 运行不了,主要看代码红色部分,只提供思路
- EIGRP中只有Successor没有Feasible Successor的时候如何实现负载均衡
- zookeeper应用——集中配置管理系统的实现(只是设计,没有具体实现代码)
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- 如何实现一个只有广播和service的android应用没有activity
- 在阿里,我们如何管理代码分支?
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- 软件包的管理及如何实现WEB源代码编译安装流程(内附图解释)
- 使用phantomjs实现highcharts等报表通过邮件发送(本文仅提供完整解决方案和实现思路,完全照搬不去整理代码无法马上得到效果)
- .net c# gif动画如何添加图片水印实现思路及代码
- 如何用C#代码管理SharePoint解决方案
- 拦截器springmvc防止表单重复提交【3】3秒后自动跳回首页【重点明白如何跳转到各自需要的页面没有实现 但是有思路】
- 关于 如何实践kernel/driver/u-boot ,怎么样按照作者的思路实现自己的代码
- 【Git笔记】如何在同主机同账户下实现多个gitlab帐号管理各自的remote repo
- 在阿里,我们如何管理代码分支?
- Gitlab和Sourcetree结合使用实现代码管理
- .net c# gif动画如何添加图片水印实现思路及代码