常规提交 - Qué es y por qué deberías empezar a utilizarlo
¿Alguna vez te ha pasado que no sabes que formato usar al escribir un mensaje de un commit? ¿Cada persona del Equipment sigue un formato different porque no hay un acuerdo entre todos? O lo que es peor,¿USA emojis en los commits?哟他西多德埃索斯...
Pues Conventional Commits llega para solucionar todos esos Problemas y más。
但是,什么是常规提交?
常规提交采用提交格式的约定。该公约定义了一系列规则,包括历史存储库的合法性,以自动处理提交历史记录,例如,项目版本的时间。
我们通过语义版本控制(o SemVer)进行了多方面的约定,在提交的存储库中建立了项目基础版本。
常规承诺是对人性和行为的承诺的具体说明。
但是,什么是 SemVer 的语义版本控制?
简历模式,SemVer es la convención más Extendida para establecer un versionado a librerias, paquetes, dependentencias, ya la vida en general 🙃
El versionado se split en tres bloques:
// MAJOR.MINOR.PATCH
2.12.7
// 2 -> MAJOR
// 12 -> MINOR
// 7 -> PATCH
- 主要:与先前版本兼容的增量版本号。
- 次要版本:版本号会随着功能的增加而增加,并且与实际的主要版本兼容。
- 补丁:版本号在实际的 MAJOR.MINOR 版本中增加了错误。
附加许可(是的)añadir al bloque PATCH informationadicional indicando si son versiones previas a un nuevo lanzamiento (alpha, beta, next, rc, ...) y el numero de la compilación.这是关于补丁块的附加信息-。
例如:
12.2.0-alpha.0
// Aquí "alpha" indica el estado de la compilación y ".0" indica el número de compilación
所有详细信息请参阅SemVer官方页面。 Ahora sí,volvamos 是一个传统的承诺。
常规提交的具体说明
常规提交具体如下:
<tipo>(ámbito opcional): <descripción>
<LINEA_EN_BLANCO>
[cuerpo opcional]
<LINEA_EN_BLANCO>
[nota(s) al pie opcional(es)]
请使用以下三个要素:
- 如果该提示已修复,则提交该错误并与项目版本补丁相关。
- 这是一个新的功能,与项目的次要版本有关。
- 文本中的“重大更改”位于未提交的页脚中,说明了该主题的
!具体内容,显示了实际版本的兼容性以及与项目主要版本的关系。
Espero que aún no hayas hecho 🤯 porque de verdad que es muy sencillo。 Vamos a ver cada una de las zonas del commit en detalle.
类型
提交内容的基本要素和提交内容参考。Angular 的约定如下:
- 壮举:cuando se añade una nueva funcionalidad。
- 修复:cuando se arregla un错误。
- 杂务:Tareas rutinarias que no Sean específicas de una feature or un error como por ejemplo añadir contenido al fichero
.gitignoreor instalar una dependentencia. - 测试:si añadimos o arreglamos 测试。
- 文档:单独修改文档。
- 构建:cuando el cambio afecta al compilado del proyecto。
- ci: cambio 影响配置文件和脚本与集成的连续性。
- 风格:合法性或格式,但不影响功能。
- 重构:在函数中不存在错误的代码,但最好是代码。
- 性能:使用最好的交会。
- 恢复: si el commit revierte un commit previous。 Debería indicarse el hash del commit que se revierte.
安比托
该选项是可选的,并且可以根据上下文提供信息,例如,该功能的名称会影响提交。
描述
简单描述 cambio cumpliendo lo siguiente:
- usa 命令式,en tiempo Presente:“añade” mejor que “añadido” o “añadidos”
- 最初的小事
- no escribir un punto al final
库尔波
您可以选择并从描述中获取更多信息。请务必使用命令式命令。
脚下注
Es 可选。请注意,实际版本的兼容性(重大更改)允许其他格式与git 预告片格式的约定。
Si el pie de página indica un Breaking Change,格式为 deberá ser el siguiente:
BREAKING CHANGE: <description>
¿ 有什么困难吗?请确保您的安全。
示例
提交实际版本的兼容性问题
feat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
Mismo commit que antes pero indicando la ruptura de compatibilidad con!
feat!: allow provided config object to extend other configs
Commit con ámbito
feat(lang): add spanish language
提交并注意事项
fix: correct minor typos in code
see the issue for details
on typos fixed.
Reviewed-by: Z
Refs #133
¿Por qué usar 常规提交?
- 遵守所有内部和外部装备的承诺格式
- 储存库历史上的阿莫尼亚
- 变更日志自动生成
- 项目自动版本
工具
许多库、扩展和链接都与常规提交的约定集成在一起,以验证提交的有效性、文件格式CHANGELOG和项目版本自动化的通用文档。
在常规提交的网络中,列出了有关 Go、Python、PHP、Java 和 JavaScript 的信息。 Además hay 插件是您编辑器最喜欢的,可以保证您的动画效果,并且可以呈现出美好的风景。
Algunas de las más famosas en el ecosistema JavaScript 儿子:
- 标准版本:由传统提交创建的库,自动生成变更日志和生成版本,并基于存储库中的前版本标签,以及提交后的 esa 标签。一般提交包括信息版本和创建/实现自动化的文件以及新版本的标签。
- 语义释放:otra herramienta más completa que la anterior y más Extendida por la comunidad。自动化所有版本的开发和版本转换(master、next、beta、alpha 等)、一般版本分析标签和新版本的标记、新版本的一般注释、实现所有版本的提交和公共文件的兰扎。 Un todo en uno en toda regla!
- 多语义发布:si lo tuyo son los monorepos esta es tu librería。这个概念是关于单一存储库的语义释放功能,决定了项目工作空间的版本。
- commitlint:所有的 linters 都是常见的comando hablamos de mensajes de commits y con una integración directa con Conventional Commits。请使用此方法来验证项目的前期信息,
simple-git-hooks并husky在存储库的历史记录中进行注册,并且不会出现格式错误。
Algunos proyectos que lo usan
Espero que apartir de ahora utilices esta convención para tus commits, estaré vigilándote 🕵️.
文章原文:https://albertochamorro.dev/blog/conventional-commits-que-es
¡Gracias por leer hasta aquí y hasta la próxima 👋!
文章来源:https://dev.to/achamorro_dev/conventional-commits-que-es-y-por-que-deberias-empezar-a-utilizarlo-23an