软件开发工作流-GitFlow
搞开发的相信大部分人git天天都在用,那么一般我们在实际工程当中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。那么是如何来规范整个流程的呢 ;
标准其实很多,这里我们介绍下Gitflow;
什么是Gitflow
Gitflow是基于Git的强大分支能力所构建的一套软件开发工作流,最早由Vincent Driessen在2010年提出。最有名的大概是下面这张图。
那么针对这个规范我们来看下如何在实际使用中来应用整个流程
1、分支说明
主要分两种 主分支 和 支援性分支
● 主分支 : 分支目录為单层,分支永久保留
○ develop : 当 feature branches 开发完成后,提供测试时,请合并到此,此分支不做任何的程序修改和变更集,只接受 master 和 feature branches 的合并
○ master : 永远处在 production-ready 状态
● 支援性分支 : 分支层级为双层,合并后且沒使用可刪除
○ feature branches : 新功能开发,分支的建立都以 master 為来源
○ hotfix branches : 临时需修改的 bug ,分支的建立都以 master 為來源
○ release branches: 提供 Marketing 测试,预计要上线的版本,分支的建立都以 master 為來源,且在合并要测试的 feature branches,合并完成后请设定 Tag,Tag 的內容為合并的 feature branches
2、分支的来源和合并
● 主分支
○ develop
■ 来源 : master, feature branches
■ 合并 : 无
○ master
■ 来源 : 无
■ 合并 : release branches, develop
● 支援性分支 : 分支层级為双层
○ feature branches
■ 来源 : master
■ 合并 : release branches, develop
○ hotfix branches
■ 来源 : master
■ 合并 : release branches, develop, master
○ release branches
■ 来源 : master, feature branches
■ 合并 : master
3、支援性分支命名
● feature branches : 依功能命名
○ ex: 开发的新功能为 FeedbackDashboard,请命名为 feature/FeedbackDashboard
● hotfix branches : 依修改的 bug 命名
○ ex: 修改 Invoice 的显示错误,请命名为 hotfix/Invoice
● release branches : 因為合并多个 feature branch,需依日期命名
○ ex: release/20171013
4、分支对应环境
● 主分支
○ develop : 开发环境
○ master : 生产环境
● 支援性分支
○ feature branches : 无
○ hotfix branches : 无
○ release branches : 沙箱环境
5、Git 常用指令
请安裝 Git Windows : https://git-scm.com/download/win
● 分支合并
○ git merge feature/xxx --no-ff
○ :ws!
● 同步远端分支
○ git remote update
○ git remote update origin --prune
● 加入 dll 到 Git
○ git add xxx.dll -f
● 还原本机所有变更集
○ git reset --hard HEAD~
● 建立 Tag
○ git tag -a tagName
● 同步 Tag 到远端
○ git push origin tagName
● 查询 Tag 的內容
○ git show tagName
● 刪除 Tag
○ git push -d origin tagname
○ git -d tagname
软件开发工作流-GitFlow相关推荐
- RP2040软件开发工作流
RP2040软件开发工作流 前面的工程配置基本上讲清楚了各个方法的优劣,这里相当于做个总结,下面有两种选择.这个开发是在基于官方SDK的基础上来说的.硬件内容和详细的代码开发解释放到后面. 1.使用S ...
- 企业级开发:Gitflow Workflow工作流
http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p ...
- (广州)软件开发定制服务,工作流引擎 OA 库存管理系统
本人专注于工作流的研究设计同时提供软件开发定制服务,工作流引擎 OA系统 库存管理系统 如果有机会合作共事请联系:15817167503(本人在广州) QQ:1311663711 加时请注明软件定制 ...
- 华为软件开发云如何为数字经济时代赋能?
在很多人的潜意识里,华为是一家以网络.服务器等硬件为主的世界顶尖级基础设施服务提供商.但是,华为软件开发云在昆明的成功落地,让我们看到华为在软件领域也大放异彩. 在2018云南-华为软件产业峰会上,华 ...
- 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...
软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...
- 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统
写下这个这题目我知道意味着一项艰巨冗长的任务开始了,做工作流方面的研发已经7年了,总算能拿出一些东西来,虽然走过很多弯路,但最终都变成收获.今天把一些心得和成果共享出来,和大家一起交流.探讨,也希望能 ...
- 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展...
一.软件开发的现状 软件领域正在发生一个巨变,特别是近几年来,软件领域正在发生翻天覆地的变化. 这一变化主要以这个云 + 端大数据, 这些是随着目前最先进的一些技术的产生而产生的. 随着这些新的技术以 ...
- Github Actions:再次改变软件开发
本文转自 FEPulse 公众号(微信搜索 FEPulse,精选国内外最新前端资讯,为你把握前端脉搏). Github Actions 是 GitHub Universe 大会上发布的,被 Githu ...
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...
最新文章
- 4、jquery表格操作
- protobuf java基础
- CNN卷积神经网络:权值更新公式推导
- 使用touch更新文件的时间
- leetcode994. 腐烂的橘子(bfs)
- 利用SVD-推荐未尝过的菜肴2
- JVM007_运行时栈帧结构
- 明明的随机数冒泡排序c 语言,NOIP复赛 c++-明明的随机数(算法和原码参考)
- es6 Decorator类的修饰器
- 驱动等待队列,poll和select编程
- 剑指offer面试题54. 二叉搜索树的第k大节点(逆中序遍历)
- Excel 将换行符替换为空
- 深度报告:移动边缘计算,站在5G“中央”
- Linux下的永中 Office 2004(转)
- html如何制作扑克,用css制作扑克牌
- 关于微信适配的坑==》ios、安卓强制微信字体
- Ubuntu 20.04 LTS (Focal Fossa) OVF 模板下载 百度网盘
- 展望下未来的计算机400字,展望未来作文400字(精选8篇)
- 星期几—YYYY-MM-DD,表示一个日期,你知道是星期几吗?
- 【Java课堂】接口详解
热门文章
- 回收站清空文件的数据怎么找回
- RCK127硬齿面减速器的优势
- 【解决方案】如何基于EasyCVR智能分析技术构建城市智慧警务可视化综合监管平台?
- Web前端—CSS(二)
- 微型计算机控制技术中南大学,中南大学2013微型计算机控制技术试题及答案教程.doc...
- 2.6 OrCAD中默认的常用快捷键是什么?是否可以更改?
- 本地编写 android通讯录 同步联系人不用 gmail 豌豆荚 91助手啦
- 信息安全行业入门与各类技术简介
- for do done重定向
- Some problems were encountered while building the effective model for cn.itcast:travel:war:1.0-SNAPS