gitlab客户端版本管理规范

分支模型:
目前客户端分支模型采用简化模型:
开发分支->主分支->稳定分支
开发分支: 由个人按照jira任务建立对应分支 task/jira-id
主分支:开发者完成后将开发分支提交合并请求至主分支,经过review,完成合并提交并自动构建
稳定分支:用于版本输出,从master分支拣选测试通过的功能进入stable分支并自动构建版本
 
基本原则
1. 每个提交日志格式必须以AZ-taskID + 简要说明,禁止没有JIRA任务的提交,找不到对应任务请让需求方提jira任务。
禁止无意义的日志语言,如modify,修改xxx文件等,任何修改都应该简要说明,
技术上的修改,如变量名修改等不影响功能,可以统一有个代码规范优化的task, 对自己代码结构的优化可以有一个架构优化的task,对性能方面的改进可以有个性能优化的task
2. 提交合并请求需以task/AZ-taskid 为分支名进行提交,避免类似master分支合并到master分支的信息,在遇到问题需要回滚或者拣选时会难以操作,并@相关人员进行review
3. 提交分支合并请先合并自己的commit为一个,即进行squash或者rebase
4. 禁止在master分支及stable分支上进行直接提交修改,只允许合并请求提交。
5. 线上BUG修复先通过在master上的构建测试再合并到stable
 
 
git开发操作步骤详解:
 
一。首次初始化
1. 初始化工程目录
git init
2. 添加个人仓库
git remote add origin 
https://lcappgit.helloshare.cn/yourfolder/project.git 

3. 添加公共仓库
git remote add upstream 
https://lcappgit.helloshare.cn/group/project.git 

4. 更新公共仓库
git fetch
5. 初始化公共仓库本地主分支
git checkout -b master remotes/upstream/master
(开发人员本地master分支可以不创建,使用upstream/master分支作为同步分支,主程序员(负责请求合并的人员)会需要本地master分支进行冲突解决与合并处理
 
二. 开始做新任务
1. 先更新公共仓库主分支
git checkout master 
git fetch upstream master
git merge upstream/master
(不推荐使用git pull, 容易自动merge产生不期望的合并)
 
2. 创建任务分支
git checkout -b task/AZ-001 upstream/master
something done
git commit -m “AZ-001;log details”
git fetch upstream master ( 提交之前再次更新下仓库 )
git rebase upstream/master  (使当前任务分支rebase到最新的master并解决冲突)
git push -u origin task/AZ-001 (提交至个人仓库)
3. 在gitlab上创建合并请求并@相关人员review
合并,若有冲突则解决( 可能在合并过程中同时有其他人也正好提交先进行了有冲突合并,之前的同步及rebase降低这个几率
4. 相关人员reivew完成并执行合并分支任务至主分支
 
三. 二次修改任务
如果已经推送远程并合并过
方式1:
任然使用之前的分支,由于已经推送远程,因此不能进行rebase,但不进行merge,在二次合并时解决冲突
git checkout task/AZ-001
do something
git add &git commit -m “AZ-001;log details”
git push -u origin task/AZ-001
创建合并请求 若不分派,可以描述中@相关人员
有冲突则解决方式见4
 
方式2:(推荐)
git fetch upstream master (更新远程版本库至本地)
git checkout -b task/AZ-001/v2 upstream/master (创建task二次补丁分支)
do something
git add & git commit -m “AZ-001;log details”
git push -u origin  task/AZ-001/v2(推送到远程个人仓库)
合并同新任务
 
四. 冲突解决
git checkout master
git fetch upstream master
git merge upstream/master
 
git fetch origin
git merge remotes/origin/task/AZ-001/2
resolve conflict
git commit -m “merge log”
git push
 
5. 回滚某个任务合并
git revert commitsid
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值