玩转git-flow工作流-分支解析

概述

搞开发的相信大部分人git天天都在用,那么一般我们在实际工程当中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。那么是如何来规范整个流程的呢 ;

标准其实很多,这里我们介绍下Gitflow;

什么是Gitflow

  • Gitflow是基于Git的强大分支能力所构建的一套软件开发工作流,最早由Vincent Driessen在2010年提出。最有名的大概是下面这张图。

那么针对这个规范我们来看下如何在实际使用中来应用整个流程

分支说明

主要分两种 主分支 和 支援性分支

●     主分支 : 分支目录為单层,分支永久保留

○     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

分支的来源和合并

●     主分支

○     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

 

支援性分支命名

●     feature branches : 依功能命名

○     ex: 开发的新功能为 FeedbackDashboard,请命名为 feature/FeedbackDashboard

●     hotfix branches : 依修改的 bug 命名

○     ex: 修改 Invoice 的显示错误,请命名为 hotfix/Invoice

●     release branches : 因為合并多个 feature branch,需依日期命名

○     ex: release/20171013

 

分支对应环境

●    主分支

○     develop : 开发环境

○     master : 生产环境

●     支援性分支

○     feature branches : 无

○     hotfix branches : 无

○     release branches : 沙箱环境

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android中的帧动画,[Android开发] Android中的帧动画

MainActivity文件:public class MainActivity extends Activity implements OnClickListener{AnimationDrawable anim_draw;SuppressLint("NewApi")Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);set…

ksu7对讲机调频软件_数字对讲机的群呼功能原理是什么?你了解多少?

大家都明白数字对讲机能够达到组呼、群呼、选呼的用途,但对数字对讲机的群呼功能原理可能操作方并不是太熟悉,下面我们就和大家来谈谈有关数字对讲机的群呼功能原理:无线对讲机群呼是为了更好地达到1个数字对讲机能够同一时间跟多个数字对讲机…

引入Jaeger——使用

上一篇定义了两种使用Jaeger的方式:中间件和action过滤器,下面这个例子定义了两个服务 WebAPI01,请求WebAPI02,采用的是中间件的请求方式。引入JaegerSharp包(或发布到自己的Nuget库里引用)WebAPI01的Start…

android studio初始化设置,Android studio 初始设置

1.compiler 勾选 Make project automatically(only works while not running/debugging) 自动编译2.设置File Encodings 中的编码 IED ENcoding,Project Encoding,Default encoding for properties files 改为UTF-83.Gradle 中 勾选 offline work 加快编译速度4.设置Tasks 中的…

抖音ai智能机器人挂机_电销秘诀 电销企业难以拒绝的AI智能电销机器人

眼下是快节奏的时代,超智能化的电销机器人已然成为了电销企业实现高速发展的首选方式。为何现代电销企业都会摒弃纯人工电销方式,采取机器人与人工协作方式呢?这就不得不说是因为AI外呼机器人的卓越性能和优势。一,提升工作效率AI…

如何在 ASP.NET Core 中使用 ActionFilter

ASP.NET Core MVC 中的 Filters 允许我们在 请求处理管道 中的某一个阶段的之前和之后执行自定义代码,不同类型的 filter 对应着 请求处理管道 的不同阶段,比如说:ActionFilter 可以在 Action 方法的之前或者之后执行自定义代码,这…

dataset的去重计数 g2_ExcelExcel去重、计数一步到位,这个方法简单到哭

私信回复关键词【插件】,获取Excel高手都在用的“插件合集插件使用小技巧”!最近在哼哧哼哧搬家,搬家第一天,面对空荡荡的房子,我发现了一个严峻的问题——日用品还没买。我打开了一个月前写下的日用品清单&#xff1a…

【源码解读】Vue与ASP.NET Core WebAPI的集成

在前面博文【Vue】Vue 与 ASP.NET Core WebAPI 的集成中,介绍了集成原理:在中间件管道中注册SPA终端中间件,整个注册过程中,终端中间件会调用node,执行npm start命令启动vue开发服务器,向中间件管道添加路由…

android开发环境 比较好,android 开发环境比较(Android开发环境比较).doc

android 开发环境比较(Android开发环境比较)android 开发环境比较(Android开发环境比较)Android build up various development environmentsThis article describes some of the things you need to know about the Android development environment configuration. The Andro…

ios采用什么技术_app软件公司开发宠物别APP采用什么技术?

app软件公司开发宠物别APP采用什么技术?随着经济的发展,人们生活水平的提高,养宠的家庭越来越多,宠物也逐渐成为主人家庭成员的重要组成部分,宠物识别APP在市场上也是很热门的手机软件,那么它是根据什么原理…

Dapr微服务应用开发系列3:服务调用构件块

题记:这篇开始逐一深入介绍各个构件块,从服务调用开始原理所谓服务调用,就是通过这个构件块让你方便的通过HTTP或者gRPC协议同步调用其他服务的方法,这些方法也是通过HTTP或者gRPC来暴露的。而方便的含义在于,你无需担…

Android开发p图软件,媲美大神P图效果 Android软件抠图神手

媲美大神P图效果 Android软件抠图神手2013年02月20日 01:50作者:杨霏霏编辑:杨霏霏文章出处:泡泡网原创分享泡泡网手机频道2月20日 PS的功能大家耳熟能详,其中抠图便是各位PS用户普遍会用到的一个功能。然而手机上抠图大家想过吗&…

腾讯公测云开发低码!实战评测

听说腾讯的新产品『 云开发低码 』即将开放公测了,怀着无比激动的心情,鱼皮立刻去官网申请并成功拿到了公测资格,然后使用它开发了一个小程序,并且通过 2020 Techo Park 开发者大会加深了对这项技术的了解。而就在 2020 年的最后一…

gitee 从 拉取新分支到本地_Hexo博客详细教程(一)| 建立本地站点

点上方蓝字关注我们每天都有好玩的东西等着你博客炫酷效果展示安装Hexo安装Git参考文章:Git实用教程(二) | Git简介及安装详解。安装NodejsNodejs可以从官网( https://nodejs.org/en )下载LTS版本:安装之后检查一下是否正常输出版本信息:安装…

索尼android 怎么截屏快捷键,索尼XZ Premium怎么截屏 2种索尼XZ Premium截图方法

截屏作为手机常用功能之一,我们经常在分享朋友圈或微博的时候经常需要用到屏幕截屏。今天本文主要分享一下索尼XZ Premium怎么截屏,作为一款相对冷门的非国产骁龙835旗舰机,在使用中难免出现一些不太熟悉的问题,下面小编分享2种索…

IdentityServer4 之Client Credentials走起来

前言API裸奔是绝对不允许滴,之前专门针对这块分享了jwt的解决方案(WebApi接口裸奔有风险);那如果是微服务,又怎么解决呢?每一个服务都加认证授权也可以解决问题,只是显得认证授权这块冗余,重复在搞事情&…

读数据库遇到空就进行不下去_如何保证缓存与数据库的双写一致性?

作者:你是我的海啸来源:https://blog.csdn.net/chang384915878分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据…

获取html滚动条位置,pc和移动端获取滚动条的位置

html5碰撞小球模拟这里根据动量守恒和能量守恒定理来计算小球的位置,从而模拟完全弹性碰撞下的小球运行轨迹. html代码: /p>spring jdbctemplate源码跟踪闲着没事,看看源码也是一种乐趣! java操作数据库的基本步骤都是类似的: 1. 建立数据库连接 2. 创建Connection 3. 创建s…

Windows Terminal 新手入门

翻译自 Kayla Cinnamon 2020年12月17日的文章《Getting Started with Windows Terminal》[1]安装Windows Terminal(Windows 终端)有两个不同的版本:Windows Terminal[2] 和 Windows Terminal 预览版[3]。两个版本都可以从 Microsoft Store 和…

html绑定按键图片移动,如何使用JS实现用键盘控制图片移动呢?

html xmlnshttp://www。w3。org/1999/xhtml headtitle标题页-学无忧(www。xue51。com)/title/headscript languageJavaScriptvar key0var timerfunction setObj(){ ietype (document。layers) ? 1 : 0; //判断浏览器类型 divObj (ietype)? document。mydiv : mydiv。style …