git开发部署流程
git的分支操作
https://blog.csdn.net/QH_JAVA/article/details/77853605
Git 开发部署流程
采用业界成熟方案 Git Flow 分支方式进行开发;一个经典的 Git 开发/部署流程包括几个环境:本地开发环境、线上测试环境、线上生产环境,分别对应git的本地工作环境、develop 分支、master 分支
无图言屌
- 本地开发环境 : 本地仓库分支工作环境
- 线上测试环境 : 远程 develop 分支
- 线上生产环境 : 远程 master 分支
先在本地进行开发,做一次完整的提交 push 到 develop 分支,进行线上测试,一切正常 push 到 master 分支,一个完整的部署过程over.
Git Flow
图示
分支职责
- master : 最为稳定功能最为完整的随时可发布的代码;
- develop : 永远是功能最新最全的分支;
- hotfix : 修复线上代码的 bug;
- feature : 某个功能点正在开发阶段;
确切的说 master、develop 分支大部分情况下都会保持一致,只有在上线前的测试阶段 develop 比 master 的代码要多,一旦测试没问题,准备发布了,这时候会将 develop 合并到 master 上.
但是我们发布之后又会进行下一版本的功能开发,开发中间可能又会遇到需要紧急修复 bug ,一个功能开发完成之后突然需求变动了等情况,所以 Git Flow 除了以上 master 和 develop 两个主要分支以外,还提出了以下三个辅助分支:
- feature : 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
- hotfix : 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
实际开发中release分支用的比较少,对我们不太适用,所以不在开发流当中
流程
下载项目
首先安装 SSH keys : 详细教程
项目管理员会首选在远程仓库创建仓库,并建立develop分支.
作为开发人员,在本地:
git clone git@code.aliyun.com:your_org/your_project.git
git branch -a -v
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
- 1
- 2
- 3
- 4
- 5
- 6
建立 develop 分支
git checkout -b develop master
## add & commit .....
git push –set-upstream origin master
git branch -a -v
- 1
- 2
- 3
- 4
分支开发
以开发功能分支 feature/search-recommend 为例,工程师需要做以下步骤:
- 建立 develop 的分支 feature/search-recommend
- 在该分支上进行开发,完成后进行本地提交
- 切换到 develop 分支,pull拉取远程仓库最新版本
- 此时本地 develop 分支是最新版本,然后 merge 分支 feature/search-recommend
- 如果此时有冲突,清除后commit
- 把本地合并后的分支 develop push 到远程 develop
- 在 develop 分支环境下进行测试
- 一切ok,删除该功能分支
- 切到 master 分支,pull 然后 merge develop,收工
遵循原则&事项
- 每次 merge 前先 pull 远程分支在进行合并
- 每完成一个功能就提交一次,不要累计代码
代码
git checkout -b feature/search-recommend develop ##创建并切换到分支
git add somefile
git commit -m 'msg'
git checkout develop
git pull
git merge feature/search-recommend
git push
git checkout master
git merge devlop
git push
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
紧急修复bug
工程师们开开心心的在自己分支上进行开发,此时线上突然出现一bug,需要立即修复,那么:
- 在 master 分支上拉一个 hotfix 分支 hotfix/0.0.1
- 修复后 merge 回 master 分支
- 再 merge 回 develop 分支
- 删除该分支
- 应始终保证 master 和 develop 上都修复了该bug
命名规范
分支命名
除了主要分支的名字是固定的之外,派生分支是需要自己命名的,采用如下形式:
- feature : 按照功能点(而不是需求)命名 feature/ ;如 *feature/weixin_recharge
- hotfix : 通过平台生成的问题编号来命名;如 hotfix/#1
git开发部署流程的更多相关文章
- Kent Beck揭秘Facebook开发部署流程
http://www.infoq.com/cn/news/2013/10/facebook-development-deployment Facebook是世界上最大的社交网站,有超过10亿用户每月至 ...
- 使用git开发的流程
1.git常用的主干,分支命令 查看分支 git branch 或者 git branch -v A) 创建分支 git branch Dev_samples_V1.0.0 B) 切换分支 git c ...
- FastAdmin Git 开发更新流程
更加简洁的流程 FastAdmin 使用 Git 更新的新用法 https://www.cnblogs.com/F4NNIU/p/9120365.html
- GIT入门笔记(20)- git 开发提交代码过程梳理
git开发提交流程新项目开发,可以直接往master上提交老项目维护,可以在分支上修改提交,多次add和commit之后,也可以用pull合并主干和本地master,解决冲突后再push 1.检出代码 ...
- 开发与测试整体过程中的Git分支merge流程
开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发 ...
- 关于开发环境 git 重新部署
apps 开发机器 多次因为升级出现无法登陆 下面就重新部署 流程做笔记 1 备份 根目录下的 那一堆shell 和 Cache/data 下的系统配置 2 shell : su www ...
- 正确的git开发流程
正确的git开发流程 第一步 在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支 第二步 第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程 git ...
- FastAdmin 插件的 Git 开发流程(简明)
FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...
- Ubuntu 18.04开发环境部署流程
部署流程 安装系统 安装Eclipse和jre 配置系统 安装辅助工具 安装系统 用安装盘安装即可. 一般boot 1G,swap按内存大小,home 20G,根剩余. 安装Eclipse和jre 解 ...
随机推荐
- 20155338《网络对抗》Exp3 免杀原理与实践
20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...
- STM32一键下载电路设计原理
先放原理图(补充:图中的BOOT0通过10K的电阻接到地),再解释为什么这么设计: STM32启动方式:BOOT0和 BOOT1用于设置 STM32的启动方式 ,见下表: BOOT0=1,BOOT1= ...
- 如何完全卸载VS2010(亲自体验过) (转)
1.首先用360卸载,当卸载完成后,提示有残余的话,就强力清除 2,接着,下载IobitUninstaller工具 3.按照下面进行卸载 1.Microsoft .NET Framework 4 框架 ...
- 封装之property,多态,鸭子类型,classmethod与staticmethod
一.封装之Property prooerty是一种特殊的属性,访问时他会执行一段功能(函数)然后返回 '''BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属 ...
- nodejs 监控代码变动实现ftp上传
被动模式下 //https://www.npmjs.com/package/watch //文件同步功能 var watch = require('watch'); var path = requir ...
- Unity协程Coroutine使用总结和一些坑
原文摘自 Unity协程Coroutine使用总结和一些坑 MonoBehavior关于协程提供了下面几个接口: 可以使用函数或者函数名字符串来启动一个协程,同时可以用函数,函数名字符串,和Corou ...
- 容器flappybird游戏——图文操作指引贴
第一步:打开华为云容器引擎产品首页,点击免费体验馆 第二步:进入免费体验馆,点击体验按钮,获得3天免费集群 第三步:创建免费集群完成后,进入产品console页,如图所示: 第四步:如 ...
- CEPH FILESYSTEM
参考文档: CEPH FILESYSTEM:http://docs.ceph.com/docs/master/cephfs/ CephFS best practices:http://docs.cep ...
- “Linux内核分析”实验一报告
张文俊 + 原创作品转载请注明出处 + <Linux 内核分析> MOOC 课程 实验要求: 1.总结部分要求阐明自己对“计算机是如何工作的”理解: 2.博客中需要使用实验截图: 实验内容 ...
- Beta 讨论分析——持续更新ing
wonderland Beta 讨论分析 标签(空格分隔): 软工实践 wonderland 主要工作: info信息: 1.关联账号界面:hbb 2.标签检索界面:hbb 3.近期活跃度(cf.hd ...