【学习总结】Git学习-GIT工作流-千峰教育(来自B站)
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站)的更多相关文章
- 【学习总结】Git学习-参考廖雪峰老师教程-总
公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...
- Git 学习之git 起步(一)
起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...
- 分布式版本管理git学习资料整理推荐
一.什么是git? Git is a free and open source distributed version control system designed to handle everyt ...
- git 学习之基础知识
在前面的一个帖子中我们知道了不同的版本控制系统的不同,在这个帖子中我们会大致的了解到它们是管理各个版本的,这对我们学习 git 是很有帮助的. 对于集中式的版本控制系统来说每次的更新主要记录内容的具体 ...
- Git学习-Git时光机之版本回退(二)
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git ...
- Git学习笔记一--创建版本库、添加文件、提交文件等
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...
- git学习------>写给 Git 初学者的7个建议
PS:本文转载于(http://blog.jobbole.com/50603/),本文由 伯乐在线 - 吴鹏煜 翻译. 英文出处:(http://sixrevisions.com/web-develo ...
- git 学习笔记 —— 获取远端分支并修改后提交至远端仓库
笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...
- Git学习笔记--实践(三)
文中红色的文字(标为:## 插曲)是在Git学习/实践过程中,我个人遇到的一些问题,每个“## 插曲”之后,都有相应的解决方案. 一.创建版本库 版本库又名仓库,英文名repository,可简单的理 ...
随机推荐
- 第一个用eclipse打包APK时报错一个错误怎么解决
这个问题也是我在android开发群里面解决的一个问题. 如果有什么想法或者想法可以在下面进行评论,我们可以一起交流一下! 我们在eclipse中开发完一个程序之后,需要将其打包为APK的安装包,我们 ...
- python3中time模块与datetime模块的简单用法
__author__ = "JentZhang" import time # Timestamp 时间戳 print("Timestamp 时间戳:") pri ...
- 查看Windows电脑上.NET Framework版本的方法(找了好久的方法)
照网上大多数人的方法,在路径 C:\Windows\Microsoft.NET\Framework 下可以查看到.NET Framework的版本,不过无论Win7还是Win10,显示都是这样的: 那 ...
- [Linux] awk与posix字符集
awk posix字符集[:alnum:] 文字数字字符[:alpha:] 文字字符[:digit:] 数字字符[:graph:] 非空字符(非空格.控制字符)[:lower:] 小写字符[:cntr ...
- C# 在Word中添加表格的方法
表格是组织整理数据的一种重要手段,应在生活中的方方面面.在Word文档中将繁杂的文字表述内容表格化,能快速.直接地获取关键内容信息.那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不 ...
- Linux文件基本操作管理
这一篇总结Linux系统中文件和目录的创建,复制,移动和重命名,包括删除这些最常用的操作. 创建 1,创建目录 使用命令:mkdir 实践:在根目录下创建一个目录命名为mcgrady 2,创建文件 使 ...
- Bootstrap方法之--排版、代码
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 理解sort()函数的排序原理
看了很多关于sort()函数的定义和解释还是不太清楚,尤其是初学者很容易看懵,这里讲讲自己是如何理解的. 首先,要理解sort()内部是利用递归进行冒泡排序的: 例如: var arr = [1, 5 ...
- 2019年度SAP项目实践计划
2019年度SAP项目实践计划 一晃2018年过去了,而新的一年说来就来了. 对于新的一年,笔者也难免有所畅想.早在上个月下旬就开始制定新年的诸多计划,比如写作计划,比如人工智能学习计划,比如新年度旅 ...
- JS table内容转成二维数组,支持colspan和rowspan
思路:1.先初始化colspan的数据到数组2.根据rowspan和colspan计算th和td的矩阵二次填充数组 说明:需要引用到第三方库jQuery,table中的th和td行和列跨度必须正确 & ...