Git版本管理规范

仓库

分组命名规范

分组(Group)是以两级来进行管理。首先以所属产品域的大类,建立一级分组,然后在下面建立二级分组。

仓库命名规范

项目统一放在二级分组下,编码结构:项目描述 + 备注,以’-’为分隔。

  • 项目描述:采用语义化的项目名,结构建议为用户群+功能描述。
  • 备注:可以是终端,如网页端(web,wap等)、手机(mobile)、和其他一些智能设备(如收银机、电视等)、等;也可以是代码架构的描述;等。

仓库权限

由开发组leader或研发负责人在分组下根据仓库命名创建项目代码仓库。团队内成员,建议在一级分组上分配;外包人员,根据开发所涉及的具体项目逐个分配对应的二级分组权限。

角色描述权限范围
Owner项目所有者可以设置项目的访问权限-Visibility Level、删除项目、迁移项目、管理组成员;开发组leader设置该角色。
Maintainer项目维护者可以创建项目、添加 tag 、保护分支、添加项目成员、编辑项目;研发负责人设置该角色。
Developer开发人员可以clone、开发、commit、push。研发人员设置该角色。
Reporter测试人员可以克隆代码,不能提交。测试人员、产品经理设置该角色。
Guest访客可以创建issue、发表评论、不能读写版本库。

分支

分支命名规范

名称命名规则说明
master-稳定版本
developdev/develop最新版本
releaserelease/创建时间(YYYYMMDD)发布新版本
featurefeature/功能点名称实现新特性
hotfixhotfix/禅道bug号修复线上紧急Bug
bugfixbugfix/禅道bug号修复普通Bug

创建项目时,会针对不同环境创建几个常用分支:

  • master:主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。研发负责人在 Gitlab 系统中设置 master 分支为protectd 分支(保护分支)。protected 分支不允许 Developer 推送代码,但 Maintainer可以推送代码。
  • develop:开发分支,该分支记录相对稳定的版本,所有的 feature 分支和 hotfix分支都从该分支创建。研发负责人在 Gitlab 系统中设置 develop分支为protectd 分支(保护分支)。
  • release:发布分支,用于代码上线准备,该分支从 develop 分支创建,创建之后由测试人员发布到测试环境进行测试,测试过程中发现 bug 需要开发人员在该 release 分支上进行 bug 修复,修复完成自测没问题后,在上线之前,需要合并该 release 分支到 master 分支,同时需要再合并该分支到 develop 分支。
    平时开发工作中,会根据需要由开发人员创建几类临时分支:
  • feature:特性(功能)分支,用于开发某个特定的功能,该分支从 develop 分支创建,不同的功能创建不同的功能分支,开发完成自测没问题后,需要合并该分支到 develop 分支,之后删除该分支。
  • bugfix:bug 修复分支,用于修复某个普通的 bug,该分支从 develop 分支创建,修复完成自测没问题后,需要合并该分支到 develop 分支,之后删除该分支。
  • hotfix:热修复分支,用于修复某个紧急的 bug,该分支只有在紧急情况下使用,该分支从 master 分支创建,用于紧急修复线上的 bug,修复完成自测没问题后,需要合并该分支到 master 分支,以便上线,同时需要再合并该分支到 develop 分支,之后删除该分支。

版本号说明

版本号为三位以‘.’分割的数字组成。第一个数字是主版本。第二个数字是次版本。第三个数字是补丁版本(hotfix 类的更新)。

  • 主版本:含有破坏性更新、大调整等。 例如:1.0.0 > 2.0.0。
  • 次版本:增加新功能特性。例如:2.0.0 > 2.1.0。
  • 补丁版本:修复问题等。例如:2.1.0 > 2.1.1。

代码提交

用户设置

设置提交代码的用户名称和邮箱为本人工号和工作邮箱。

代码提交规范

提交规范一般包括:标题(类型、精简总结)、内容、备注 。其中精简总结和类型是必填的,其余都是选填。

标题

名称命名规则
feat新功能
fix修复bug
docs文档变更
style代码格式优化
refactor重构代码
perf性能、页面优化
test增加测试用例、单元测试
revert回退版本
build打包
chore构建过程或辅助工具的变动

必填的精简总结是非常重要的,一般是是总结概括的文字。要让人一眼就能看出来主要提交了什么,是添加了功能还是解决了问题,同时它也是大多数git管理工具默认展示的一行。需在第二行加上,禅道需求/任务/bug的id。如:
–fix: 修复了页面卡顿的bug。
–story: 1024

内容

内容主要填写详细的改动内容。如果精简总结写的比较完美,内容不写也是没关系。如果更改确实很多,并且时间充裕的话,把本次提交内容的实现、需求以及背景都填写,是很负责的做法。比如:
–fix: 修复了页面卡顿的bug
–story: 123

在网络不好时,渲染页面的接口被重复调用。
此次更改了页面接口的逻辑判定,在并发请求中……采用了……所以……。

备注

备注主要作用就是有一些额外的hook补充,比如提交记录之后,自动触发代码联动编译,或者自动生成git提交的通知。

Git仓库迁移

在二级分组下创建新空白代码仓

不用生成readme文件

克隆原始代码仓

本地创建新目录,执行如下命令(注意替换成对应的仓库地址)
git clone --bare git@gitlab.old.com:group/xxxService.git

推送到新仓库

执行步骤二后本地目录会生成一个名为 xxxService.git 的目录,进入此目录,执行如下命令:
cd xxxService.git
git push –-mirror https://gitlab.new.com/test/xxxService.git

修改已有代码仓库地址

完成以上3个步,代码仓迁移即已完成。由于大多数项目之前已在本地clone并进行开发,需要修改已有代码的远程仓库地址。进入已有代码目录,执行如下命令:
git remote set-url origin https://gitlab.new.com/test/xxxService.git

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值