likes
comments
collection
share

git 管理规范建议

作者站长头像
站长
· 阅读数 42

一、分支规范

分支命名说明
主分支master正式版本的代码放在此分支(唯一)
开发分支develop功能最新最全的分支
功能分支feature/*新功能分支,开发阶段使用
预发布分支release/*准备提测的分支,将所有功能分支合并到此分支以供提测
紧急修复分支hotfix/*修复线上bug,修改后合并至主分支master
  1. 由于我们现在基本是以功能点开发,因此功能分支的命名可以以功能名称命名,如 feature/link;
  2. 预发布分支建议以版本号来统一,方便查看,如 release/2.5

二、提交规范

1、一般我们的提交步骤

  1. git add.

  2. git commit -m '备注信息'

  3. git pull 拉取远程分支(这里建议先拉取后提交)

    如果出现提交时有冲突的情况,可以进行以下操作

    git stash 将本地更改的代码暂存

    git pull 拉取远程分支

    git stash pop 将暂存的代码弹出,在此可以查看冲突内容

  4. 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/* 此时需要记录当前版本号信息。

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:当出现重大改变,或出现不向后兼容的修改时,增加主版本号;
  2. 次版本号:当出现新功能时增加次版本号;
  3. 修订号:当做了一些 bug 修改时增加修订号

可以安装 standard-version 帮助我们更新版本号。

1、安装

npm i --save-dev standard-version

2、添加 npm run scriptpackage.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 编写

standard-version


如果有写的不对不好的地方,还请各位大佬指正批评啦~

转载自:https://juejin.cn/post/7223558793844490277
评论
请登录