Git工作流

1、概念

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

2、分类

2.1 集中式工作流

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

2.2 GitFlow 工作流

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

2.3 Forking 工作流

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

3、GitFlow 工作流详解

3.1 分支种类

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

3.2 GitFlow

Git工作流

3.3 分支实战

Git工作流

3.4 具体操作

(1)创建分支
Git工作流
Git工作流
(2)切换分支审查代码
Git工作流
Git工作流
Git工作流
检出远程新分支
Git工作流
切换回 master
Git工作流
合并分支
Git工作流
合并结果
Git工作流
合并成功后,把 master 推送到远程。