玩转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
玩转git-flow工作流-分支解析相关推荐
- git flow工作流
git flow工作流 背景: 在团队开发中,因为项目的众多,每个项目也都有不同的分支,往往会造成分支的混乱.比如我最近遇到了这样的情况,因为正在开发一个较为长期的项目,正改到一半,却派出来一个紧 ...
- git flow 工作流
Git flow 工作流介绍 Git Flow 工作流是一个非常成熟的方案,也是非开源项目中最常用到的工作流.它定义了一个围绕项目发布的严格分支模型,通过为代码开发.发布和维护分配独立的分支来让项目的 ...
- 持续交付之基于Git Flow代码分支策略实践
文章目录 一.前言 二.主干开发(TBD) 三.特性开发 1.Git Flow 2.产品分支策略 2.1.基本情况 2.2.分支管理 2.3.分支合并时间 2.4.初始化配置 2.5.迭代开发 2.6 ...
- Git flow(使用工具自动git flow+解决合并冲突)
Git flow(使用工具自动git flow+解决合并冲突) 1. Git Flow常用分支 生产分支(master) Master分支只能从其他分支合并,不可直接修改,Master分支的Comm ...
- git flow 概念
git flow 概念 Git作为一个代码管理系统,不可避免的会涉及到多人协作. 俗话说无规矩不成方圆.Git Flow 就是如何使用git 分支的一种规范,或者叫做推荐.简单来说就是通过规范化的流程 ...
- 增强版 Git Flow 模型
使用 Git 的最佳方式一直存在争议.那是因为 Git 本身只详细说明了基本的分支操作,这使得它的使用模式: 即分支模型--常常成为用户有意见的地方.虽然Git 分支模型能够帮助开发者减少其在更改代码 ...
- mac中使用Sourcetree的git flow
mac中使用Sourcetree的git flow 前言 1.git flow工作流 1.1 什么是git flow 1.2 git flow上的分支 1.2.1 长期分支 1.2.2 短期分支 1. ...
- Git Flow—Git团队协作最佳实践
一.规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高. 实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代 ...
- git flow进行代码版本管理
文章目录 1. 什么是git flow 2. Git Flow常用分支说明 2.1 Production分支 2.2 Develop分支 2.3 Feature分支 2.4 Release分支 2.5 ...
最新文章
- 调试Linux内核操作指南(withing kgdb)
- 1048 采药 1049 装箱问题
- 《React Native移动开发实战》一一3.4 完善商品列表——ListView组件
- 最优化课堂笔记03:整数规划
- html中的时间代码怎么写,html网页代码中的时间样式怎样设置
- element-UI栅格系统缩放,导致页面布局效果bug? 叠加?错位?
- 12000.PAC19XX电源监测芯片
- SQL那些事儿(七)--oracle表空间、用户查看基本语句
- Django 路由系统
- golang:map转json字符串
- Unity 修改asset store下载路径(win10)
- 华为云空间 微信聊天记录_微信聊天记录云同步!用了这个方法,再也不怕聊天记录丢失...
- el-select 远程搜索时 没有箭头图标
- 计算机系统结构专业学什么,江苏大学专业介绍:计算机系统结构
- android 网络运营商名称显示规则(锁屏界面,下拉列表)
- 微信公众号教程(18)微信音乐播放器开发 上
- IONIC--如何使用IONIC
- Java——(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age) (2)定义Map集合,用Student对象作为key
- python导入库的方式有几种_python库导入的三种方式
- android tv闹钟_Android 平台有哪些闹钟应用值得推荐?
热门文章
- IDEA开发工具的学习
- target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件...
- yyblog2.0 数据库开发规范
- python3用list实现栈
- MVC学习九:MVC 特性本质
- CodeChef Chef and Churu [分块]
- vue 监听路由变化
- 中国人工智能学会通讯——基于视频的行为识别技术 1.1 什么是行为
- 设置utf8编码问题
- 游戏上线... 记录下...