设为首页 加入收藏

TOP

Git 分支管理规范(二)
2019-09-19 11:10:29 】 浏览:64
Tags:Git 分支 管理规范
: git branch hotfix-20190919-v1.0.1 tag-20190919-v1.0.0
第二步:验证 Bug 是否已修复测试主管需完成以下任务:
  1. 验证 Bug 是否已修复
  2. 通知开发主管 Bug 已修复【邮件:发送给开发主管,抄送给项目经理】
第三步:创建标签并发布新版本

开发主管需完成以下任务:

  1. 将 hotfix 分支同时合并到 master 与 develop 分支
  2. 通过测试主管进行冒烟测试
第四步:发布新版本

开发主管需完成以下任务:

  1. 修改 master 分支上的 Maven 快照版为发布版(去掉 SNAPSHOT 后缀)
  2. 添加发布日志(RELEASE.md)
  3. 在 master 分支上创建标签
  4. 删除 hotfix 分支
  5. 打包并上传 Maven 私服
  6. 通知测试主管新版本已发布完毕【邮件:发送给测试主管,抄送给项目经理与 Git 管理员,邮件格式

请找 Git 管理员获取】

image-20190919094509499

命令示例:

# 合并 hotfix 分支到 master 分支:
git checkout master
git merge --no-ff hotfix-20190919-v1.0.1
# 合并 hotfix 分支到 develop 分支:
git checkout develop
git merge --no-ff hotfix-20190919-v1.0.1
# 在 master 分支上创建标签:
git checkout master
git tag tag-20190919-v1.0.1
# 删除本地 hotfix 分支:
git branch –d hotfix-20190919-v1.0.1
# 删除远程 hotfix 分支:
git push origin :hotfix-20190919-v1.0.1
若无法将 hotfix 分支合并到 master 与 develop 分支时,应该如何发布?

比如:现在 master 分支已经发布了 2.0.0 版本(代码结构发生了很大的变化),但线上发现了一个 1.0.0 版 本的 Bug,当修改了 Bug后,是无法再合并到 master 与 develop 分支的,开发主管需完成以下任务:

  1. 直接在 hotfix 分支上创建标签
  2. 删除 hotfix 分支(分支删除了,只要标签还在,版本就可以找得回来)
  3. 手工修改 develop 分支中的代码(在后续发布时再合并到 master 分支中)

定制化项目

当需要对某项目进行定制化时,可从源项目的 Git 仓库 fork 出一个新的 Git 仓库:

image-20190919094643254

当 fork 后,对 repo1 做出的任何修改,都不会影响到 repo2
在 repo2 中修复了 Bug,可通过 Merge Request 的方式提交给 repo1
在 repo2 中可随时拉取 repo1 中的提交,但 repo1 不能拉取 repo2 中的提交

附录

Maven 版本号命名规范

格式:Major.Minor.Micro

版本 说明
Major 版本 架构调整
Minor 版本 新特性
Micro 版本 Bug 修复、优化

Git 分支类型

分支 用途
master 分支(主分支) 稳定版本
develop 分支(开发分支) 最新版本
release 分支(发布分支) 发布新版本
hotfix 分支(热修复分支) 修复线上 Bug
feature 分支(特性分支) 实现新特性

image-20190919095107028

Gitlab 角色与项目角色对应关系

Gitlab 角色 项目角色
Owner(拥有者) Git 管理员
Master(管理员) 开发主管
Developer(开发者) 开发人员
Reporter(报告者) 测试人员
Guest(观察者) 其他人员

Git 管理员与开发主管的职责

Git 管理员 开发主管
创建 Git 仓库 管理项目分支
检查 Git 分支规范 成员管理
维护 Gitlab 系统 管理标签

来源:Git分支管理规范

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇面试官:你知道Spring中有哪些可.. 下一篇1.4Zookeeper和Thymeleaf的使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目