Git工作流指南 - av32575602

文档资料






目录:

1-什么是版本控制系统
2-工作流简介
3-集中式工作流
4-功能分支工作流
5-GitFlow工作流






小记:

初看差点放弃了,不过后面还是有干货的,可以和廖老师教程相辅相成

2018-11-8-厕所感悟一则:

联想到pt里的,我突然觉得,pt网站是不是就相当于,每个人都作为自己已下载资源的服务器,尽量24小时在线或者开机做种,以提供给他人下载所需资源。

------------------------------------------

一、什么是版本控制系统

------------------------------------------

二、工作流简介

2.1 集中式工作流-方面SVN迁移过来-个人(3-5人)

2.2 功能分支工作流-稍大团队(8-12人)

2.3 GitFlow工作流-实际开发中常用但会稍微简化-整个公司

2.4 Forking工作流-适合大型团队使用-跨国合作

Pull Requests-请求合并-面试常问的,注意一下

除了第一个,剩下三个都会用到

------------------------------------------

三、集中式工作流-适合小型团队

内含demo:

老师说,在GitHub新建仓库的时候,选了.gitignore和开源协议

还说不选开源协议会比较吃亏???


步骤:

初始化仓库-->所有人克隆仓库-->小明、小红开发功能-->小明提交-->小红提交但失败-->小红先pull再push


------------------------------------------

四、功能分支工作流

<这节还受益良多,以前理解得不太好的一些东西明白了>

通常不在master上开发,而是创建不同分支,如功能分支、bug分支等

以此来保证master里的代码不被污染

(当代码还有点问题但是又怕丢失的时候,不可以传到master里否则master里就有坏的代码了,这时可以先传到功能分支里,这个分支最终是要删除的,而且可以自己负责一个分支)

演示:

功能分支开发完成后用pull request请求有权限的人(组长之类)合并到master分支
组长有权限,可以选择merge该功能到哪个分支,或者不merge


------------------------------------------

五、GitFlow工作流-企业常用

GitFlow 工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。

发布分支:

维护分支:当有bug时

GitFlow流五大分支:

主干分支
热修复分支
预发布分支
开发分支
功能分支

一个demo:

开发环节

1-首先创建develop分支-由有权限的人

所有开发工作都在这个开发分支下完成

2-然后开发人员先pull后在develop分支基础上创建自己的功能分支


3-开发人员小明开发并推送后,可在GitHub里发起pull request


4-预发布人员小明在本地切换到develop分支,创建预发布分支

:预发布分支这个版本是提供给测试人员用的,测试人员把它pull下来做测试

5-测试完成,没有问题了,再从预发布分支下,向master分支发起pull request请求


发布环节

1-本地打标签,作为里程碑式的第一个发布版本

2-本地打好标签以后,推送到远程


后期修复bug

1-用户发现bug,在issue里提交一个



2-上线:checkout下,在标签1.0.0基础上创建新分支

(上一部分写到,自动生成的问题编号是#4,故hotfix分支命名为hotfix_0004对应 该问题)

3-在本地的hotfix_0004分支下,修复bug,提交并推送到远程库


4-开发人员觉得没有问题了,可以在GitHub里发起pull request


5-在本地master分支下,pull(得到补丁),并新建标签1.0.1-RELEASE然后push到远程(勾选包括标签)




6-开发完成后,把不需要的分支删掉:



GitFlow工作流简化:feature分支可以省略,其他都不能

------------------------------------------

Forking工作流

大体操作和廖老师讲的一致

在实际开发中不怎么用

但加入开源社区,或者想做开源贡献时会用到

------------------------------------------

实际开发中常用的工作流:

一个是集中式,一个是GitFlow

【学习总结】Git学习-GIT工作流-千峰教育(来自B站)的更多相关文章

  1. 【学习总结】Git学习-参考廖雪峰老师教程-总

    公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...

  2. Git 学习之git 起步(一)

    起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...

  3. 分布式版本管理git学习资料整理推荐

    一.什么是git? Git is a free and open source distributed version control system designed to handle everyt ...

  4. git 学习之基础知识

    在前面的一个帖子中我们知道了不同的版本控制系统的不同,在这个帖子中我们会大致的了解到它们是管理各个版本的,这对我们学习 git 是很有帮助的. 对于集中式的版本控制系统来说每次的更新主要记录内容的具体 ...

  5. Git学习-Git时光机之版本回退(二)

    Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git ...

  6. Git学习笔记一--创建版本库、添加文件、提交文件等

    Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...

  7. git学习------>写给 Git 初学者的7个建议

    PS:本文转载于(http://blog.jobbole.com/50603/),本文由 伯乐在线 - 吴鹏煜 翻译. 英文出处:(http://sixrevisions.com/web-develo ...

  8. git 学习笔记 —— 获取远端分支并修改后提交至远端仓库

    笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...

  9. Git学习笔记--实践(三)

    文中红色的文字(标为:## 插曲)是在Git学习/实践过程中,我个人遇到的一些问题,每个“## 插曲”之后,都有相应的解决方案. 一.创建版本库 版本库又名仓库,英文名repository,可简单的理 ...

随机推荐

  1. C# 合并Excel工作表

    文档合并.拆分是实现文档管理的一种有效方式.在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍.关于拆分Excel工作表,可参见这篇文章——C#如何拆分EXCEL工作表 ...

  2. Java高阶语法---Volatile

    背景:听说Volatile Java高阶语法亦是挺进BAT的必经之路. Volatile: volatile同步机制又涉及Java内存模型中的可见性.原子性和有序性,恶补基础一波. 可见性: 可见性简 ...

  3. break,return和continue三者区别(Java)

    一.break用于完全结束一个循环,跳出循环体. 不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码. class Demo3 { public static v ...

  4. JavaWeb学习日记----SAX解析XML

    1.SAX解析XML文档的方式: 与DOM方式解析不同,DOM方式解析是根据XML的层级结构在内存中分配一个树形结构,把xml的标签,属性和文本都封装成对象.优点是可以很方便实现增删改操作.缺点是,如 ...

  5. Fundebug前端JavaScript插件更新至1.7.1,拆分录屏代码,还原部分Script error.

    摘要: BUG监控插件压缩至18K. 1.7.1拆分了录屏代码,BUG监控插件压缩至18K,另外我们还原了部分Script error,帮助用户更方便地Debug.请大家及时更新哈~ 拆分录屏代码 从 ...

  6. loj#6073. 「2017 山东一轮集训 Day5」距离(费用流)

    题意 题目链接 Sol 我们可以把图行列拆开,同时对于行/列拆成很多个联通块,然后考虑每个点所在的行联通块/列联通块的贡献. 可以这样建边 从S向每个行联通块连联通块大小条边,每条边的容量为1,费用为 ...

  7. Dynamics 365 CE中AsyncOperationBase表记录太多,影响系统性能怎么办?

    微软动态CRM专家罗勇 ,回复311或者20190311可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文主要是根据微软官 ...

  8. ArcGIS 网络分析[1] 利用自定义点线数据(shp或数据库)创建网络数据集【小白向】

    前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何“使用自己的数据”创建“网络数据集”的文章. 究其原因,是因为当前的高质量的线数据或保密,或采集困难. 有介绍几何网络的,有介绍如何用官方S ...

  9. WPF:使用TypeConverter

    所谓TypeConverter就是类型转换器,支持两种类型之间相互转换 你可以重写转换逻辑,只要你清楚转换的协议,就可以实现类型互转. 定义一个Person类型,具有一个int类型的Age属性: pu ...

  10. mysql安装出现问题(The service already exists)

    1.管理员身份运行cmd(系统win10) 2.输入命令cd /d F:\mysql-5.7.19-win32\bin(此为mysql要安装的目录) 3.输入安装命令mysqld install 出现 ...