gfl: github-flow 工作流
工作中常用的工作流
项目主页: https://github.com/aric-go/github-flow
安装
gcd git@github.com:aric-go/github-flow.git
yarn
yarn build
npm run bin:link
常用命令
$ gfl -h
Github Flow CLI
Usage:
github-flow [flags]
github-flow [command]
Available Commands:
checkout 交互式的git分支切换(alias: co)
completion Generate the autocompletion script for the specified shell
help Help about any command
hotfix 开始一个hotfix分支
init 初始化 Github Flow 配置
pr 打开 GitHub 的 PR 页面
publish 发布当前分支(alias: p)
release 以最近 tag(eg:v1.0.0) 为基准,生成新的 release 版本
start 开始一个新功能(alias: s)
sweep 清理包含特定关键词的分支(alias: clean, rm)
sync 同步远程仓库到本地仓库/更新所有远程仓库的引用
tag 以最近 tag(eg:v1.0.0) 为基准,生成新的 tag 版本
version 获取程序版本
Flags:
-h, --help help for github-flow
-v, --version show version
Use "github-flow [command] --help" for more information about a command.
cheatsheet
场景 | 命令 | 备注(原理) |
---|---|---|
开始新功能 |
| 从当前开发分支 origin/develop 上启动新功能 命名风格: feature/{nickname}/feature-name |
开始修复BUG |
| 从当前开发分支 origin/develop 上开启bug修复 命名风格: fix/{nickname}/fix-some-bug |
开始一个hotfix |
| 从最近的 releases/release-vx.y.z 上开启 hotfix 分支 为什么不能从alpha/main 这些分支上切? 因为这个hotfix 是需要合并为 alpha 用于发到 prod 上之前的测试
切记: 不要直接从 main 上切新分支,那样会让问题变得更复杂 |
开始一个 release(版本迭代) |
| |
开始一个 release(hotfix) |
| |
定期同步 main → dev |
| 定期将 main 分支代码合并到 dev 分支 |