git 工作流

这里对常用的 git 工作流进行梳理和简化

分支命名规则

开发流程

  1. 项目初始化
  2. 开发者将相应的项目 clone 到本地并定期与远端保持更新
git clone https://xxx.xxx/xxx.git
git checkout -b develop origin/develop
  1. 准备进行开发工作之前,开发者基于最新的 masterdevelop 建立相应的分支
git pull
git checkout -b feature/xxx develop
  1. 开发者在本地分支上进行修改及 commit
  2. 到达一定程度后(建议每半天到一天,或者修改的代码数量达到一定程度后),将本地分支 pushorigin
  3. 功能开发完成后,从 origin 获取最新的开发进度,进行合并,并 pushorigin。 (这个步骤在团队规模扩大后变更为 PR )
# 切换到 develop 分支
git rebase develop

# 如果有冲突则手动合并
git mergetool
git rebase --continue

# 获取最新进度
git pull origin develop

# 合并分支
git merge feature/xxx

# 推送到远端
git push

# 删除本地分支
git branch -d feature/xxx
  1. 发布版本
git checkout -b release/0.0.1 develop

# 这里可能会有 bigfix

# 将 release 合并到 master 。这里一定是没有冲突的。
git checkout master
git merge release/0.0.1
git push

# 将 release 合并到 develop
git checkout develop
git merge release/0.0.1
git push

# 在 master 上打版本的 tag
git tag -a v0.0.1 -m "0.0.1 版本" master
git push --tags
  1. bugfix 分支
# 建立 bugfix 分支
git checkout -b bugfix/001 release/0.0.1(或其他相应有缺陷的分支)

# 修改和 commit 略过

# 合并到有缺陷的分支
git checkout release/0.0.1
git merge bugfix/001
git push

关于 commit message

对 commit message 提出下面的要求:

commit message 建议遵循如下规范:

type: subject [tag]
<br>
body

其中 type 的取值和 subject 的建议写法为:

如果一个 commit 对应修改了多个缺陷,则在 body 中具体描述,例如:

fixed #13175 【管理端】【采购订单】修改采购订单页面,修改供应商后,保存报错
fixed #446 总是死机的问题

版本更新日志

参考文档