搞开发的相信大部分人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相关推荐

  1. RP2040软件开发工作流

    RP2040软件开发工作流 前面的工程配置基本上讲清楚了各个方法的优劣,这里相当于做个总结,下面有两种选择.这个开发是在基于官方SDK的基础上来说的.硬件内容和详细的代码开发解释放到后面. 1.使用S ...

  2. 企业级开发:Gitflow Workflow工作流

    http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p ...

  3. (广州)软件开发定制服务,工作流引擎 OA 库存管理系统

    本人专注于工作流的研究设计同时提供软件开发定制服务,工作流引擎 OA系统 库存管理系统 如果有机会合作共事请联系:15817167503(本人在广州) QQ:1311663711 加时请注明软件定制 ...

  4. 华为软件开发云如何为数字经济时代赋能?

    在很多人的潜意识里,华为是一家以网络.服务器等硬件为主的世界顶尖级基础设施服务提供商.但是,华为软件开发云在昆明的成功落地,让我们看到华为在软件领域也大放异彩. 在2018云南-华为软件产业峰会上,华 ...

  5. 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...

    软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...

  6. 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统

    写下这个这题目我知道意味着一项艰巨冗长的任务开始了,做工作流方面的研发已经7年了,总算能拿出一些东西来,虽然走过很多弯路,但最终都变成收获.今天把一些心得和成果共享出来,和大家一起交流.探讨,也希望能 ...

  7. 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展...

    一.软件开发的现状 软件领域正在发生一个巨变,特别是近几年来,软件领域正在发生翻天覆地的变化. 这一变化主要以这个云 + 端大数据, 这些是随着目前最先进的一些技术的产生而产生的. 随着这些新的技术以 ...

  8. Github Actions:再次改变软件开发

    本文转自 FEPulse 公众号(微信搜索 FEPulse,精选国内外最新前端资讯,为你把握前端脉搏). Github Actions 是 GitHub Universe 大会上发布的,被 Githu ...

  9. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

最新文章

  1. 4、jquery表格操作
  2. protobuf java基础
  3. CNN卷积神经网络:权值更新公式推导
  4. 使用touch更新文件的时间
  5. leetcode994. 腐烂的橘子(bfs)
  6. 利用SVD-推荐未尝过的菜肴2
  7. JVM007_运行时栈帧结构
  8. 明明的随机数冒泡排序c 语言,NOIP复赛 c++-明明的随机数(算法和原码参考)
  9. es6 Decorator类的修饰器
  10. 驱动等待队列,poll和select编程
  11. 剑指offer面试题54. 二叉搜索树的第k大节点(逆中序遍历)
  12. Excel 将换行符替换为空
  13. 深度报告:移动边缘计算,站在5G“中央”
  14. Linux下的永中 Office 2004(转)
  15. html如何制作扑克,用css制作扑克牌
  16. 关于微信适配的坑==》ios、安卓强制微信字体
  17. Ubuntu 20.04 LTS (Focal Fossa) OVF 模板下载 百度网盘
  18. 展望下未来的计算机400字,展望未来作文400字(精选8篇)
  19. 星期几—YYYY-MM-DD,表示一个日期,你知道是星期几吗?
  20. 【Java课堂】接口详解

热门文章

  1. 回收站清空文件的数据怎么找回
  2. RCK127硬齿面减速器的优势
  3. 【解决方案】如何基于EasyCVR智能分析技术构建城市智慧警务可视化综合监管平台?
  4. Web前端—CSS(二)
  5. 微型计算机控制技术中南大学,中南大学2013微型计算机控制技术试题及答案教程.doc...
  6. 2.6 OrCAD中默认的常用快捷键是什么?是否可以更改?
  7. 本地编写 android通讯录 同步联系人不用 gmail 豌豆荚 91助手啦
  8. 信息安全行业入门与各类技术简介
  9. for do done重定向
  10. Some problems were encountered while building the effective model for cn.itcast:travel:war:1.0-SNAPS