git概述-git工作流

一、 概念

在项目开发过程中使用 Git 的方式。

二、分类

1、集中式工作流

像 SVN 一样,集中式工作流以中央仓库作为项目所有修改的单点实体。所有修改都提交到 Master 这个分支上。这种方式与 SVN 的主要区别就是开发人员有本地库。Git 很多特性并没有用到。

2、GitFlow 工作流

Gitflow 工作流通过为功能开发、发布准备和维护设立了独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。

3、Forking 工作流

Forking 工作流是在 GitFlow 基础上,充分利用了 Git 的 Fork 和 pull request 的功能以达到代码审核的目的。更适合安全可靠地管理大团队的开发者,而且能接受不信任贡献者的提交。

三、GitFlow 工作流详解

1、主干分支 master
主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境 完全一致。
2、开发分支 develop
主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
3、bug 修理分支 hotfix
主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。
4、准生产分支(预发布分支)release
较大的版本上线前,会从开发分支中分出准生产分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后,可以视情况删除。
5、功能分支 feature
为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支中独立出来。开发完成后会合并到开发分支。

git概述-入门常识

一、版本控制工具应该具备的功能

协同修改
多人并行不悖的修改服务器端的同一个文件。

数据备份
不仅保存 目录和文 件的当前 状态,还 能够保存 每一个提 交过的历 史状态。 版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据 ,以节约存储空间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而Git采取了文 件系统快照的方式 。

权限控制
对团队中 参与开发 的人员进 行权限控 制。
对团队外 开发者贡 献的代码 进行审核 ——Git 独有。

历史 记录
查看修改 人、修改 时间、修 改内容、 日志信息 。
将本地文 件恢复到 某一个历 史状态。

分支 管理
允许开发 团队在工 作过程中 多条生产 线同时推 进任务, 进一步提 高效率。

二、版本控制简介

2.1 版本控制
工程设计领域中使用版本控制管理工程蓝图的设计过程。在IT开发过程中也可以使用版本控制思想管理代码的版本迭 代。

2.2 版本控制工具
思想:版本控制
实现 :版本控制工具

2.3 集中式版本控制工具:
CVS 、SVN、VSS ……

2.4 分布式版本控制工具:
Git、Mercurial 、Bazaar、Darcs……

三、git简史

控制台输入 git help [具体命令] ,可以查看相关帮助文档。

四、git优势

1、大部分操作在本地完成,不需要联网
2、完整性保证
3、尽可能添加数据而不是删除或修改数据分支操作非常快捷流畅
4、与Linux命令全面兼容

五、git使用流程