Git Flow 使用指南
以下是基于Vincent Driessen提出的Git Flow 流程图:
Git Flow 的常用分支
master 分支
master 分支是最近发布到生产环境的代码,即最近发布的 release,master 分支只能从其他分支合并,不能在这个分支直接修改,所有在 master 分支上的 commit 应该打上 tag,例如 release 合并到 master 应该创建一个 tag 。
develop 分支
这个分支是我们是我们的主开发分支,包含所有要发布到下一个 release 的代码,主要接收其他分支的合并,比如 feature 分支。
feature 分支
这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回 develop 分支进入下一个 release,原feature 分支进行删除。
release 分支
当需要一个发布一个新 release 的时候,基于 develop 分支创建一个 release 分支,可以在这个 release 上测试,改 Bug;同时,其它开发人员可以继续基于 develop 分支新建 feature 。完成 release 后,将其合并到 master 和 develop 分支,一般发布完 release 分支后,该分支会删除,同时创建一个 tag 记住 release 版本号,之后删除 release。
hotfix分支
当我们在 master 发现新的 Bug 时候,我们需要创建一个 hotfix, 完成 hotfix 后,我们合并回 master 和 develop 分支,同时在 master 上打一个tag, hotfix 的改动会自动进入下一个 release。
Git Flow 命令示例
创建 develop
git branch develop git push -u origin develop
开始 feature
# 通过 develop 新建 feaeure 分支 git checkout -b feature/func develop # 推送至远程服务器: git push -u origin feature/func # 假设修改了文件 git status git add . git commit
完成 feature
git checkout develop git pull origin develop #--no-ff:不使用fast-forward方式合并,保留分支的commit历史 #--squash:使用squash方式合并,把多次分支commit历史压缩为一次 git merge --no-ff feature/func git push origin develop git branch -d some-feature # 如果需要删除远程feature分支: git push origin --delete feature/func
开始 release
git checkout -b release/1.0.0 develop
完成 release
git checkout master git merge --no-ff release/1.0.0 git push git checkout develop git merge --no-ff release/1.0.0 git push git branch -d release/1.0.0 git push origin --delete release/1.0.0 # 合并master/devlop分支之后,打上tag git tag -a 1.0.0 master git push --tags
开始 hotfix
git checkout master git merge --no-ff hotfix/1.0.1 git push git checkout develop git merge --no-ff hotfix/1.0.1 git push git branch -d hotfix/1.0.1 git push origin --delete hotfix/1.0.1 git tag -a 1.0.1 master git push --tags
GUI 工具
上述使用命令行的方式操作起来比较麻烦,建议使用 sourcetree 中的 gitflow 进行操作。
欢迎持续关注 http://blog.geekidentity.com/archives/gitflow%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SpringBoot 标准集成MyBatis的2种方式
点击上方蓝色字体,选择“标星公众号” 优质文章,第一时间送达 作者|47号Gamer丶 来源 | urlify.cn/UN7J3m 66套java从入门到精通实战课程分享 写在前面 这篇文章只是标准的使用和一些概念,高级定制等。我会在另一篇博客里对mybatis实行顶级封装,优化简化它,敬请期待。 最近很多人Spring Boot中使用MyBatis时遇到的问题,大多数问题总结起来就是对MyBatis和Spring框架不熟悉的原因导致的。实际上,在Spring Boot中使用MyBatis本质就是在Spring框架中集成MyBatis,并没有其他任何高级的东西。只不过在Spring Boot中使用时因为插件封装的关系使得相关的配置可以更简洁一些,但是这种封装对于不熟悉MyBatis的人来讲反而增加了理解的难度。因此,我想把如何在Spring Boot中使用MyBatis进行一个系统性的总结,希望能有一些参考价值。 准备工作 配置数据库驱动 使用任何数据库服务器,只要是使用JDBC方式连接,都需要添加数据库驱动,甚至还需要添加数据库连接池依赖,如下配置以添加MySQL驱动为例进行说明。...
- 下一篇
2020互联网寒冬之下,作为一个Android老码农,是如何进入腾讯的?
由于众所周知的原因,原生Android开发如今已经日渐凋敝,作为一个Android程序员,不仅要会Java,Kotlin,JavaScript,Css,Html,还要会Flutter,C++,FFmpeg,Linux等相关知识。 笔者从7月份开始面试,到8月中旬截止(因为腾讯已经面试通过,自己面试面的也累了,就决定去腾讯了) 接下来就说说各家的面试题,一共面试了快二十家公司,既有外包,也有中小型企业,也有准备D轮甚至上市的C轮企业,更有BAT等知名企业。 接下来就一一说一下各家公司的面试题。 也建议各位面试的时候不要上来就直奔BAT等,大厂面试官的技术广度与深度也不是刚出来面试的你,能搞定的。最好先去一些小公司看看他们问的哪些东西,自己回去在查漏补缺一下,刷书大厂的面试题,最后去大厂。 最后祝各位能进入自己心仪的公司。 按照面试的时间顺序来一一罗列各家公司的面试题。(记忆可能出现纰漏,哈哈,各位看看就好,有些公司的面试可能比较常规,就没有什么特别的印象) 武汉佰钧成(外包OPPO,自家面试官) 因为是周六的专场面试,也不用请假,所以马上就参加了这家公司的面试。 两轮面试 Activit...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Red5直播服务器,属于Java语言的直播服务器