git 管理规范建议
一、分支规范
分支 | 命名 | 说明 |
---|---|---|
主分支 | master | 正式版本的代码放在此分支(唯一) |
开发分支 | develop | 功能最新最全的分支 |
功能分支 | feature/* | 新功能分支,开发阶段使用 |
预发布分支 | release/* | 准备提测的分支,将所有功能分支合并到此分支以供提测 |
紧急修复分支 | hotfix/* | 修复线上bug,修改后合并至主分支master |
- 由于我们现在基本是以功能点开发,因此功能分支的命名可以以功能名称命名,如 feature/link;
- 预发布分支建议以版本号来统一,方便查看,如 release/2.5
二、提交规范
1、一般我们的提交步骤
-
git add.
-
git commit -m '备注信息'
-
git pull
拉取远程分支(这里建议先拉取后提交)如果出现提交时有冲突的情况,可以进行以下操作
①
git stash
将本地更改的代码暂存②
git pull
拉取远程分支③
git stash pop
将暂存的代码弹出,在此可以查看冲突内容 -
git push
将本地代码提交至远程
在进行提交更改记录的步骤,对于备注信息需要做以下规范。
2、规范说明
Commit message 包括三个部分:header,body 和 footer。
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
其中 header 为必须,body 和 footer可以省略。
header 部分包括三个字段 type
(必需)、scope
(可选)和subject
(必需)。
① type
说明备注类别,只允许以下 7 个标识。
-
feat:新功能(feature)
-
fix:修补bug
-
docs:文档(documentation)
-
style: 格式(不影响代码运行的变动)
-
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
-
test:增加测试
-
chore:构建过程或辅助工具的变动
② scope
scope 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。结合我们的实际开发,可以记录修改的页面或者功能点。如 feat(detail):
如果修改影响了不止一个scope
,可以使用 *
代替。
③ subject
subject
是 commit 目的的简短描述,不超过50个字符。
3、Commitizen
可以使用典型的git工作流程或通过使用CLI向导Commitizen来添加提交消息格式。
安装
npm install -g commitizen
然后,在项目目录里,运行下面的命令,使其支持 Angular 的 Commit message 格式。
commitizen init cz-conventional-changelog --save --save-exact
使用
以后,凡是用到 git commit
命令,一律改为使用 git cz
。这时,就会出现选项,用来生成符合格式的 Commit message。
① 控制上下方向键选择备注类别
② 添加影响范围(scope),也可以直接敲回车略过此项
③ 填写简短描述(subject),必填
此步骤以下的操作,可以一路回车至结束。
④ 填写详细描述
⑤ 是否是重大改变
⑥ 这次更新是否影响了未关闭的问题
如果选择了是(Y),需要填写描述信息(可选),以及解决的问题号
三、版本号设定
在一个新功能开发完毕后,会将代码合并置预发布分支 release/*
此时需要记录当前版本号信息。
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
- 主版本号:当出现重大改变,或出现不向后兼容的修改时,增加主版本号;
- 次版本号:当出现新功能时增加次版本号;
- 修订号:当做了一些 bug 修改时增加修订号
可以安装 standard-version
帮助我们更新版本号。
1、安装
npm i --save-dev standard-version
2、添加 npm run script
到 package.json
{
"scripts": {
"release": "standard-version"
}
}
3、指定版本号
npm run release -- --release-as 1.1.0
详情请看本文末尾参考文章。
四、标签记录
每次发布一个正式版本之后,面向用户的代码都会放在 master 分支,此时需要以 master
分支为基础新建 tag
标签。
可以选择命令行添加,或者使用 gitlab 可视化管理页面进行添加。
1、使用命令行
// 打标签
git tag -a v0.1.0 -m "完成了第一个版本"
// push 标签到远程仓库
git push origin v0.1.0
2、使用可视化管理
① 点击进入 tag
列表页
② 新增 tag
③ 填写 tag 内容
④ 查看 tag 列表
此时 tag 列表会增加一条 tag 记录,也可重新编辑发布详细说明,或者删除此条记录。
参考文章
commit message 和 change log 编写
如果有写的不对不好的地方,还请各位大佬指正批评啦~
转载自:https://juejin.cn/post/7223558793844490277