规范(四):Git 规范

简介: 规范(四):Git 规范

1. Git flow 规范

Git 作为一个源码管理的工具,不可避免的会涉及到多人的协作,协作必须有一个规范的工作流程,让大家有效的合作使得项目井井有条的发展下去。

工作流程在英语中叫 Workflow

原意是水流,比喻项目想水流哪像自然的流动,不会发生冲击、对撞甚至旋涡。

Git flow 是最早诞生,并广泛采用的一种工作流,它采用了功能驱动开发(Feature-driven development,简称FDD),它指的是需求是开发的起点,现有需求再有功能分支

image.png

Git flow 最主要的特点有两个

  1. 项目始终存在两个长期分支 master(主分支)develop(开发分支)
  2. 除此之外,还有三个短期分支 feature(功能分支) hotfix(补丁分支) release(预发分支)

image.png

分支 描述
master 产品分支:只能从其他分支合并内容,不能再这个分支直接修改。合并到 maters 上的 commit 只能来自 release 分支或 hotfix 分支。
develop 开发主干分支:基于 mastertag 建立,主要用来暂时保存开发完成而又未发布的 feature 分支内容,以及 releasehotfix 的补充内容
feature 功能分支:一般一个新功能对应一个功能分支,从而和已经完成的功能隔离开来,而且只有在新功能完成开发的情况下,其对应的 feature 分支才会合并到主开发分支( develop 分支)上
release 预发分支:当需要发布时,我们从 develop 分支创建一个 release 分支,然后这个release 分支会发布到测试环境进行测试,如果发现问题就在这个分支直接进行修复。发布结束后,这个 release 分支会合并到 developmaster 分支,从而保证不会有代码丢失。
hotfix 补丁分支:主要用于紧急修复一些 Bug。会从 master 分支上的某个 tag 建立,修复结束后再合并到 developmaster 分支上

image.png

2. Git commit 规范

写好 Git commit 能提供更多的而历史信息,方便快速浏览,还能过滤某些 commit(比如文档改动),便于快速查找信息。

如何优雅写好Git commit规范呢? 现在业界使用比较广泛的是 Angular规范

<type>(<scope>):<subject> # 标题行:必填描述主要修改类型和内容。
// 空行
<body> # 主题内容:描述为什么修改,做了什么样的修改,以及开发的思路等等。
// 空行
<footer> 放 Breaking Changes 或 Closed Issued

1. type 类型有:

Type 作用
feat 新增特性 (feature)
fix 修复 Bug(bug fix)
docs 修改文档 (documentation)
style 代码格式修改(white-space, formatting, missing semi colons, etc)
refactor 代码重构(refactor)
perf 改善性能(A code change that improves performance)
test 测试(when adding missing tests)
build 变更项目构建或外部依赖(例如 scopes: webpack、gulp、npm 等)
ci 更改持续集成软件的配置文件和 package 中的 scripts 命令,例如 scopes: Travis, Circle 等
chore 变更构建流程或辅助工具(比如更改测试环境)
revert 代码回退
  1. scope 影响范围

比如L route,component,utils,build

  1. subject:commit的描述
  2. body:commit具体修改内容,可以分为多行
  3. footer: 一些备注

2. commitizen 工具

1. 简介
commitizen git commit 的格式化工具,为我们提供标准化的 commit 信息。 帮助我们统一项目commit , 便于信息的回溯或日志的生成。# commit message 格式

2. 安装

npm install -g commitizen cz-conventional-changelog

echo '{"path": "cz-conventional-changelog"}' > ~/.czrc

3. 使用

在文件夹中修改内容

git add *
git cz

具体操作步骤可以参考 规范(三):从 0 搭建 React+TS 项目 第七章 Git Commit 规范

相关文章
|
3月前
|
消息中间件 小程序 Java
【规范】看看人家Git提交描述,那叫一个规矩
本文通过IDEA中的Git描述规范插件【git commit message helper】,介绍了Git提交描述的规范流程,强调了团队开发中统一标准的重要性,并通过实例展示了规范的提交记录如何提高代码管理和维护效率。最后,文章提供了几个实用的Git提交描述案例,帮助读者更好地理解和应用这些规范。
50 0
【规范】看看人家Git提交描述,那叫一个规矩
|
3月前
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
135 0
【规范】Git分支管理,看看我司是咋整的
|
3月前
|
开发工具 git
Git——commit的提交规范
Git——commit的提交规范
97 4
|
3月前
|
JavaScript 测试技术 开发工具
Git 分支设计规范
Git 分支设计规范
179 11
|
3月前
|
存储 测试技术 开发工具
企业Git 规范的必要性-阿里云开发者社区
既然认同需要一份 Git 规范,那么这个规范需要规范哪些内容,解决哪些问题。
|
3月前
|
监控 程序员 开发工具
如何规范Git提交-参考阿里云开发者社区
这篇文章分享了如何规范Git提交,介绍了commit message的格式规范,并通过webhook监控机制来确保代码提交的规范性,从而提高研发效率和代码维护质量。
|
3月前
|
开发工具 git
Git——简单的分支规范
Git——简单的分支规范
37 0
|
4月前
|
测试技术 开发工具 git
git 提交规范
git 提交规范
156 2
|
4月前
|
前端开发 测试技术 开发工具
|
4月前
|
Ubuntu 开发工具 git
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
60 0