Git Flow 概念
Git Flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。这里的重点是 Vincent Driessen 的分支模型思想,下面讲解的内容也是基于 Vincent Driessen 思想。
- Vincent Driessen 的观点:http://nvie.com/posts/a-successful-git-branching-model/
Git Flow 是一个 git 扩展集
你可以理解 Git Flow 是一个基于 Git 的插件,这个插件简化了 Git 一些复杂的命令,比如 Git Flow 用一条命令,就可以代替 Git 原生 10 条命令。- Git Flow 对原生的 Git 不会有任何影响,你可以照旧用 Git 原生命令,也可以使用 Git Flow 命令。
还有其他的一些分支管理模型思想,具体可以看:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html
Git Flow 核心概念
必须有的两个核心分支(长期分支):
master
,Git 代码仓库中默认的一条主分支。这条分支上的代码一般都建议为是正式版本的代码,并且这条分支不能进行代码修改,只能用来合并其他分支。develop
,一般用于存储开发过程的代码分支,并且这条分支也不能进行代码修改,只能用来合并其他辅助分支。
根据情况创建的辅助分支(临时分支)
-
feature branches
(功能分支) -
基于
develop
分支上创建开发完成后合并到
develop
分支上当要开始一个新功能的开发时,我们可以创建一个
Feature branches
。等待这个新功能开发完成并确定应用到新版本中就合并回develop
。对于单人开发的
feature branches
,start
之后,开发完成后可以直接finish
。对于多人开发的
feature branches
,start
之后,开发完成后先publish
给其他开发人员进行合并,最后大家都开发完成后再finish
。这个思路也同样适用下面几个辅助分支场景。feature branches
开发过程有 bug,直接在feature branches
上修改、提交。 -
release branches
(预发布分支) -
基于
develop
分支上创建测试确定新功能没有问题,合并到
develop
分支和master
分支上用来做新版本发布前的准备工作,在上面可以做一些小的 bug 修复、准备发布版本号等等和发布有关的小改动,其实已经是一个比较成熟的版本了。另外这样我们既可以在预发布分支上做一些发布前准备,也不会影响 "develop" 分支上下一版本的新功能开发。
-
hotfix branches
(基于master
基础上的生产环境 bug 的修复分支) -
基于
master
分支上创建修复测试无误后合并到
master
分支和develop
分支上主要用于处理线上版本出现的一些需要立刻修复的 bug 情况
Git Flow 安装
- Windows:如果你安装 Git 用的是 Git for Windows,那它已经内置了。
- Mac:
brew install git-flow-avh
- Linux:
wget --no-check-certificate -q
https://raw.githubusercontent.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh && sudo bash gitflow-installer.sh
install stable; rm gitflow-installer.sh
- 更多版本:https://github.com/petervanderdoes/gitflow-avh/wiki/Installation
- 在系统环境上支持之后,再安装 IntelliJ IDEA 对 Git Flow 支持的插件:https://plugins.jetbrains.com/plugin/7315-git-flow-integration
Git Flow 基础命令资料
- https://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html
- http://www.jianshu.com/p/9e4291078853
Git Flow Integration 插件的使用
- 如果你已经理解了上面的理论,再看下面这些截图你能理解对应的是什么意思。
Git Flow Integration 插件的使用
Java 面试宝典是大明哥全力打造的 Java 精品面试题,它是一份靠谱、强大、详细、经典的 Java 后端面试宝典。它不仅仅只是一道道面试题,而是一套完整的 Java 知识体系,一套你 Java 知识点的扫盲贴。
它的内容包括:
- 大厂真题:Java 面试宝典里面的题目都是最近几年的高频的大厂面试真题。
- 原创内容:Java 面试宝典内容全部都是大明哥原创,内容全面且通俗易懂,回答部分可以直接作为面试回答内容。
- 持续更新:一次购买,永久有效。大明哥会持续更新 3+ 年,累计更新 1000+,宝典会不断迭代更新,保证最新、最全面。
- 覆盖全面:本宝典累计更新 1000+,从 Java 入门到 Java 架构的高频面试题,实现 360° 全覆盖。
- 不止面试:内容包含面试题解析、内容详解、知识扩展,它不仅仅只是一份面试题,更是一套完整的 Java 知识体系。
- 宝典详情:https://www.yuque.com/chenssy/sike-java/xvlo920axlp7sf4k
- 宝典总览:https://www.yuque.com/chenssy/sike-java/yogsehzntzgp4ly1
- 宝典进展:https://www.yuque.com/chenssy/sike-java/en9ned7loo47z5aw
目前 Java 面试宝典累计更新 400+ 道,总字数 42w+。大明哥还在持续更新中,下图是大明哥在 2024-12 月份的更新情况:
想了解详情的小伙伴,扫描下面二维码加大明哥微信【daming091】咨询
同时,大明哥也整理一套目前市面最常见的热点面试题。微信搜[大明哥聊 Java]或扫描下方二维码关注大明哥的原创公众号[大明哥聊 Java] ,回复【面试题】 即可免费领取。