赞
踩
a git-flow branch management
项目Github地址
工作中遇到不少因为git分支管理不规范导致的问题,导致测试效率变低,甚至于merge代码引起线上问题。
通过总结遇到的问题,借鉴netflix的分支管理,angular的commit messge规范,开发了一个工具,希望对大家的工作有所启发。
如果使用中遇到,欢迎评论中留言,或者到github中提交issue
feature分支为短期分支,需求上线后,即可删除分支
三个长期分支Dev/Test/Release,每个分支对应一个环境,代码变更自动触发部署,保证环境代码为最新版本。
分支之间只能feature>dev>test>release单向合并
分支 | 生命周期 | 环境 | 部署 | 是否需审核 |
---|---|---|---|---|
Release | 长期 | Prod | 手动 | 是 |
Release | 长期 | Pre | 手动 | 否 |
Test | 长期 | test | 自动(代码提交时) | 否 |
Develop | 长期 | Dev | 自动(代码提交时) | 否 |
Feature | 短期 | Local | 手动 | 否 |
对应流程图中步骤 1、2、 3 、4
Standardize the format of commit.
使用-b/-f 选择是否添加body/footer信息
推荐angular的commit message格式
<type>(emoji): <header>
<BLANK LINE> //空行
<body>
<BLANK LINE> //空行
<footer>
gf feature start <branchname>
gf feature submit <branchname>
gf feature finish <branchname>
gf feature delete <branchname>
gf hotfix start <branchname>
gf hotfix start <branchname>
…
展示仓库下分支信息,与远端同步状态,‘+’ 表示ahead,‘-’表示behind
选择分支进行切换
合并 git status & git add & git restore部分功能
选择文件 然后执行命令添加或者移除暂存区
create a tag in ‘v{major}.{minor}.{patch}_{date}’ format
Use -p/-m/-M to increase patch/minor/major version number
撤销last commit提交, == git reset “HEAD^”
更加美观的commit 记录
仓库代码统计信息
pip install gitflo
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。