GitFlow日常使用总结
GitFlow 使用#
Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理
GITFLOW 就是提供了一种方便快捷的管理项目版本 / 分支的功能,也算是一种规范类型,具体看团队规范。 它把你需要用 git 分几步命令的操作 使用 git flow 仅仅只需一个命令就搞定了 另外团队成员都是使用这种 统一规范 创建的版本啦 分支不会乱套。
GitFlow 安装#
- 需要先安装 Git 现在一些高版本的 Git 中已经集成了
gitflow
- 如果没有的话 上跳 github->gitflow 这里有详细的安装说明
GitFlow 的简单实用#
准备工作#
- 更新
master
分支 - 更新
develop
分支
初始化#
$ git flow init
然后他会询问你一些基本的命名设置直接一路 回车 默认就可以了
注意:如果是第一次创建的项目或者有命名不规范的分支结构的时候 在执行 init 初始化的时候会让你多选择一些选项
- Which branch should be used for bringing forth production releases?
master【这里就是列出的可选分支列表】
Branch name for production releases: [master]
像这个就是在询问你准备生产环境的一个分支 他默认给了你推荐的是 master 就是最后那个中括号的内容就是默认推荐的 像我之前有过不规范的命名分支瞎写的 这里他就会给你推荐最新的那个分支如果你不想用默认的可以直接在后面打上需要作为生产环境的分支的名字 以前不是很懂就胡乱打了个分支 结果跪了都是泪,推荐 master 哦
- Branch name for “next release” development: [develop]
这个是在问你选择开发环境的一个分支 一般推荐是 develop 他默认的也是的 不想选别的直接回车
后面还有一些选择统统默认好了
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
出的最新 release 为v1.2.3
那我们的 hotfix 分支可以命名为v1.2.3.1
以此类推
当我们彻底修复 bug 需求提交合并
$ git flow hotfix finish v0.0.1.1
他会在后面帮我们把分支合并到 master
然后打上标签 并删除该分支 这些都是可以通过 git log
看到的
现在我们的 tag 标签又增加了 git tag
方便我们后续的创建
OK 暂时这么多踩坑了好多次 都是命名不规范导致的问题。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: