git-flow[实战系列]
安装
windows 安装git之后貌似自带git flow
初始化
跟composer init,git init 一样,git flow也需要初始化,初始化之后会有两个分支master,develop
//可以重命名各分支
$ git flow init
Initialized empty Git repository in /Users/tobi/acme-website/.git/
//生产分支
Branch name for production releases: [master]
//开发分支
Branch name for "next release" development: [develop]
//新功能分支前缀
How to name your supporting branch prefixes?
Feature branches? [feature/]
//发布分支前缀
Release branches? [release/]
//热修复分支前缀
Hotfix branches? [hotfix/]
创建 feature
开发一个新功能,创建一个新分支foo
$ git flow feature start foo
等价于
//切换到develop分支,确保新的 feature 分支是基于最新的 develop 分支创建的。
$ git checkout -b feature/foo develop
舍弃 feature
取消正在进行中的功能分支,并且会将分支删除
$ git flow feature delete foo
等价于
$ git branch -D feature/foo
完成 feature
foo功能自测通过后,合并到develop
$ git flow feature finish foo
等价于
//切换到 develop 分支
$ git checkout develop
//将 feature/foo 分支中的更改合并到 develop 分支。 --no-ff 参数将保留 foo 分支的commit记录。
$ git merge --no-ff feature/foo
//删除已完成的分支。
$ git branch -d feature/foo
创建 release
当所有新的功能和必要的修复已经被彻底的测试过了,那就开始生成一个新的 release ,在此之后不能添加新功能,只有错误修复、文档生成和其他面向发布的任务应该在该分支中进行。
//1.0.0 是版本号
$ git flow release start 1.0.0
等价于
//从 develop 分支 创建release分支
$ git checkout -b release/1.0.0 develop
舍弃 release
取消正在进行中的发布分支,并且会将分支删除。
$ git flow release abort 1.0.0
等价于
git branch -D release/1.0.0
完成 release
添加完发布文档之后,完成 release
$ git flow release finish 1.0.0
等价于
//切换到 develop 分支。
$ git checkout develop
//将 release/1.0.0 分支合并到 develop 分支,--no-ff 选项以保留 feature 分支的 commit 记录
$ git merge --no-ff release/1.0.0
//创建一个名为 1.0.0 的标签
$ git tag -a 1.0.0 -m "Release 1.0.0"
//切换到 master 分支。
$ git checkout master
//将 release/1.0.0 分支合并到 master 分支,--no-ff 选项以保留 feature 分支的 commit 记录
$ git merge --no-ff release/1.0.0
//删除 release/1.0.0 分支。
$ git branch -d release/1.0.0
创建 Hotfixes
线上发生问题的时候,先回滚到之前的稳定版本,稳定局势
然后创建热修复分支开始改BUG
$ git flow hotfix start 1.0.1
等价于
//从master分支 创建一个hotfix/1.0.1分支
$ git checkout -b hotfix/1.0.1 foo master
完成 Hotfixes
紧急修复完毕
$ git flow hotfix finish 1.0.1
等价于
//切换 master 分支
$ git checkout master
//合并热修复分支到master,--no-ff 选项以保留 feature 分支的 commit 记录
$ git merge --no-ff hotfix/ohno
//创建一个名为 1.0.1 的标签
$ git tag 1.0.1
//切换到 develop 分支
$ git checkout develop
//合并热修复分支到 develop ,--no-ff 选项以保留 feature 分支的 commit 记录
$ git merge --no-ff hotfix/1.0.1
//删除热修复分支
$ git branch -d hotfix/1.0.1
使用说明
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: