GitFlow日常使用总结

GitFlow使用

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理
GITFLOW就是提供了一种方便快捷的管理项目版本/分支的功能,也算是一种规范类型,具体看团队规范。 它把你需要用git分几步命令的操作 使用git flow 仅仅只需一个命令就搞定了 另外团队成员都是使用这种 统一规范 创建的版本啦 分支不会乱套。

GitFlow安装

  • 需要先安装 Git 现在一些高版本的Git中已经集成了gitflow
  • 如果没有的话 上跳 github->gitflow 这里有详细的安装说明

GitFlow的简单实用

准备工作

  1. 更新master分支
  2. 更新develop分支

初始化

$ git flow init

然后他会询问你一些基本的命名设置直接一路 回车 默认就可以了

注意:如果是第一次创建的项目或者有命名不规范的分支结构的时候 在执行init初始化的时候会让你多选择一些选项

  1. Which branch should be used for bringing forth production releases?
    master【这里就是列出的可选分支列表】
    Branch name for production releases: [master]

像这个就是在询问你准备生产环境的一个分支 他默认给了你推荐的是master 就是最后那个中括号的内容就是默认推荐的 像我之前有过不规范的命名分支瞎写的 这里他就会给你推荐最新的那个分支如果你不想用默认的可以直接在后面打上需要作为生产环境的分支的名字 以前不是很懂就胡乱打了个分支 结果跪了都是泪,推荐master哦

  1. Branch name for “next release” development: [develop]

这个是在问你选择开发环境的一个分支 一般推荐是develop 他默认的也是的 不想选别的直接回车
后面还有一些选择统统默认好了
git flow init

Git flow feature

如果你准备开发一个新的功能

$ git flow feature start your-branch-name

start 后面就是你要创建的分支的名字 一般新功能使用feature分支 在后面默认中他是帮你从develop分支为基础创建的这个新的分支
当你完成功能开发 需要推送到服务器上时

$ git flow feature finish your-branch-name

他会帮你新功能分支上的内容合并到develop分支上 并删除该feature分支,然后切换回develop分支 你可以通过git log命令来查看他的具体操作哦

Git flow release

当你的功能点都完成后 你需要发一个发布的版本 我们可以创建一个release分支 这个也是基于develop分支创建的

$ git flow release start v0.0.1

注意这个release版本的命名 我们一般习惯是v+3位数 因为这是一个新的项目还没有tag标签就从0开始了 那就是v0.0.1了 这个看公司规定吧
如果有tag标签 请先使用git tag 命令来查询最近的release版本 在此基础上+1作为新的版本号 比如查询出来的最近的是v1.2.3 那新创建的版本推荐名:v1.2.4 因为我们开发中3位的都是release版本号所以只需要找最近的一个3位数的release版本号就行了 如果你们固定的不是3位数就要看具体的喽

当我们完成这个发布分支 验证测试完需要正式发布了 我们只需要执行

git flow release finish v0.0.1

他在后面会帮我们合并到master 并打上tag标签 并删除该release分支 同时合并到develop 保证2个分支的同步

那现在我们在使用git tag命令就能看到tag标签了 就是我们刚刚完成的那个分支的版本号

$ git tag
v0.0.1

Git flow hotfix

当我们出现bug需要修复又不想影响发布分支 可以新建一个hotfix分支来修复bug

$ git flow hotfix start v0.0.1.1

它在后面是从master分支帮我们创建的这个hotfix新分支

注意这个命名版本号:我们一般习惯使用v+4位数来命名版本号 需要先查询最新的一个release分支因为 release 是3位的 在他的基础上加一位 因为我们上面刚刚完成的release版本号是v0.0.1所以我们新建的hotfix分支的名字就是v0.0.1.1
eg: 如果我们git tag出的最新 releasev1.2.3 那我们的hotfix分支可以命名为v1.2.3.1 以此类推

当我们彻底修复bug 需求提交合并

$ git flow hotfix finish v0.0.1.1

他会在后面帮我们把分支合并到master然后打上标签 并删除该分支 这些都是可以通过git log看到的
现在我们的tag标签又增加了git tag 方便我们后续的创建

OK 暂时这么多踩坑了好多次 都是命名不规范导致的问题。

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
微信公众号:码咚没 ( ID: codingdongmei )
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

sourceTree内置了gitflow流程,可以体验一下,可视化流程更容易理解

2年前 评论
reggie (楼主) 2年前
PHPisGod 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!