前端 Git Commit & branchs 规范
前端 Git Commit & branchs 规范
1、分支
- master 分支为主分支(保护分支)不能直接在master分支上进行修改代码和提交;且master分支为线上版本分支,代码只能从develop分支merge,且每次merge需要加上Tag 版本号;
- develop 分支为开发分支,是各功能分支的合并总分支,各功能分支统一merge到develop;
- feature 分支为功能性分支,根据不同需求创建独立的功能分支,开发完成后merge到develop分支;
- release 分支为bug修复分支,即测试分支
- hotfix 分支为热更新分支,紧急修复master分支上的bug,修复完成后merge到master分支,然后删除。
1.1、前端项目服务器环境打包
已经和运维设定服务器环境打包机制,测试环境、生产环境无需本地打包提交(dist)文件夹,只需提交源码即可。对应打包分支:
- 测试环境-release分支
- 生产环境-master分支
运维同事默认此发布方式,如有特殊配置,及时告知运维调整;建议本地安装包文件采用yarn工具,和服务器保持一致;npm包源地址使用npm仓库;
1.2、Tag版本号
Tag 采用三段式,v版本.里程碑.序号;如:v1.2.1
- 架构升级或架构重大调整,修改第1位
- 新功能上线或者模块大的调整,修改第2位
- bug修复上线,修改第3位
2、Git commit中使用 emoji
配合webstorm插件:gitmoji使用
| emoji | emoji 代码 | commit说明 |
|---|---|---|
| tada(庆祝) | 初次提交 | |
| sparkles(火花) | 引入新功能 | |
| bug(bug) | 修复bug | |
| bookmark(书签) | 发行/版本标签 | |
| ambulance(急救车) | 重要补丁 | |
| lipstick(口红) | 更新 UI 和样式文件 | |
| wrench(扳手) | 修改配置文件 | |
| heavy_plus_sign(加号) | 增加一个依赖/代码/文件 | |
| heavy_minus_sign(减号) | 减少一个依赖/代码/文件 | |
| arrow_up(上升箭头) | ️ | 升级依赖 |
| arrow_down(下降箭头) | ️ | 降级依赖 |
| zap(闪电) | 提升性能 | |
| rocket(火箭) | 部署功能 | |
| memo(备忘录) | 撰写文档 | |
| hammer(锤子) | 重大重构 | |
| art(调色板) | 改进代码结构/代码格式 | |
| construction(施工) | 工作进行中 | |
| apple(苹果) | 修复 macOS 下的问题 | |
| penguin(企鹅) | 修复 Linux 下的问题 | |
| checkered_flag(旗帜) | 修复 Windows 下的问题 |
优点:
- 统一团队Git Commit标准,便于后续代码review、版本发布、自动化生成change log
- 可以提供更多有效的历史消息,方便快速预览合并代码
- 团队其他成员进行类 git blame 时可以快速明白代码用意
使用 emoji 形式应该遵循以下格式
:emoji: 不超过 50 个字的摘要,首字母大写,使用祈使语气,句末不要加句号
提交信息主体
引用相关 issue 或 PR 编号 <#110>
例如:
git commit -m ":tada: 初次提交代码"
另外:
- 如果不需要记录在更新日志的内容,则不要打标记。比如:"添加企业内部人员信息"这种只适合开发内部告知的
- 每一条更新只占用一行,另外一行视为另一条更新描述
3、禁止提交的文件
Git项目中禁止提交包含以下内容的文件
- 包含账号密码的文件
- 包含token信息的文件
- .idea、日志文件、包文件
前端 Git Commit & branchs 规范的更多相关文章
- Git Commit Message 规范
今天来说说团队开发中,对于 Git commit message 规范问题. 社区上有各种 Commit message 的规范,本文介绍 Angular 规范,目前使用较广,比较合理和系统化,并且有 ...
- git commit的规范
https://www.yuque.com/fe9/basic/nruxq8#6c228def 制定一个 git commit 信息的提交规范是开发团队工作流必不可少的环节.试想一下,如果查看主分支上 ...
- Git Commit 提交规范
写好 Commit message 好处多多: 1.统一团队Git commit 日志风格 2.方便日后 Reviewing Code 3.帮助我们写好 Changelog 4.能很好的提升项目整体质 ...
- 自家公司关于git commit 的规范
代码提交的commit info提个建议,fix的issue是哪个issue?都要有明确的链接.推荐方式:1.建立issue,说明问题的背景和原因.http://git.startdt.net/pay ...
- 规范git commit提交记录和版本发布记录
在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...
- 如何规范git commit提交
相信很多人使用SVN.Git等版本控制工具时候都会觉得每次提交都要写一个注释有什么用啊?好麻烦,所以我每次都是随便写个数字就提交了,但是慢慢的我就发现了,如果项目长期维护或者修改很久之前的项目,没有一 ...
- Git commit message和工作流规范
目的 统一团队Git commit日志标准,便于后续代码review,版本发布以及日志自动化生成等等. 统一团队的Git工作流,包括分支使用.tag规范.issue等 Git commit日志参考案例 ...
- 前端项目git操作命名规范和协作开发流程
前言 一个项目的分支,一般包括主干 master 和 开发分支 dev,以及若干临时分支 分支命名规范 分支: 命名: 说明: 主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分 ...
- git & Angular git commit 规范
git & Angular git commit 规范 https://github.com/angular/angular/commits/master https://github.com ...
- git commit规范工具
npm install -g commitizen commitizen init cz-conventional-changelog --save --save-exact 以后,凡是用到git c ...
随机推荐
- Rubymine搭建Ruby开发环境
1.下载和安装Ruby 下载链接:https://rubyinstaller.org/downloads/ 安装示意图: 注意勾选图示的两个选项 安装完成后在cmd窗口运行:ruby -v命令显示当前 ...
- 云备份技术解析:备份删除&合并原理
本文分享自天翼云开发者社区<云备份技术解析:备份删除&合并原理>,作者:沈****军 在删除备份副本时,需要根据备份副本包含的数据块以及数据块的引用关系来进行空间的释放.当云硬盘的 ...
- IP、端口相关
Windows端口被占用 按住[Windows+R]键输入cmd回车 输入命令[netstat -aon|findstr "端口号"]后按回车,找对最后一列对应的数字,即为这个端口 ...
- EFCore多数据库合并查询分页
EFCore多数据库合并查询分页 参照:二个表的数据 如何做分页?_两个表排序分页_深圳市热心市民市民的博客-CSDN博客 基本情况介绍:由于系统迭代,部分收藏表在老系统的数据库,部分在新api接口的 ...
- 一个开源、经典的 WPF 控件、组件和实用工具集合,值得参考学习!
前言 今天大姚给大家推荐一个开源.经典的 WPF 控件.组件和实用工具集合,对于想要自己编写 WPF UI 界面的同学可以参考借鉴学习:Extended.Wpf.Toolkit. 项目介绍 Exten ...
- 同余最短路&转圈背包算法学习笔记(超详细)
一.问题引入 当你想要解决一个完全背包计数问题,但是 \(M\) 的范围太大,那么你就可以使用同余最短路. 二.算法推导过程 首先对于一个完全背包计数问题,我们要知道如果 \(x\) 这个数能凑出来, ...
- 【记录】IDA|IDA怎么查看当前二进制文件自动分析出来的内存分布情况(内存范围和读写性)
IDA版本:7.6 背景:我之前一直是直接看Text View里面的地址的首尾地址来判断内存分布情况的,似乎是有点不准确,然后才想到IDA肯定自带查看内存分布情况的功能,而且很简单. 文章目录 1 查 ...
- Kafka怎么配置SASL用户名密码认证
服务端配置(server.properties): # 开启SASL认证 security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN # 配置JAAS文 ...
- 假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?
简要回答 如果刚好触发扩容,那么当前用户请求会被阻塞,因为 HashMap的底层是基于数组+链表(红黑树)来实现的,一旦它发生扩容,就需要新增一个比之前大2倍的数组,然后将元素copy到新的数组上 而 ...
- 【译】微软与 Anthropic 合作为 MCP 创建官方 C# SDK
微软正在与 Anthropic 合作,为模型上下文协议(MCP)创建一个官方的 C# SDK.MCP 已经在人工智能社区得到了迅速的应用,这次合作旨在增强人工智能模型与 C#应用程序的集成. 该 SD ...