Documentación: https://git-scm.com/docs
Convenciones propuestas
Mensajes al hacer commit
Un pequeño cambio en la forma que redactamos los mensajes al momento de hacer nuestros commit nos puede facilitar muchas cosas, desde el mantenimiento al código al ser más fácil identificar dónde/cuándo se realizo algún cambio, hasta la preparación de los despliegues al tener referencia de los Jiras trabajados.
*** Es importante recalcar que lo principal es lograr ser descriptivos en los mensajes de cada commit, ser claros al redactar los cambios realizados.
<tipo><opcional: símbolo ! que indica un cambio que puede afectar varias u otras funcionalidades>: <titulo>. <JIRA> <resumen de las tareas realizadas, redactadas en tiempo presente> <opcional: "BREAKING CHANGE" solo usar en conjunto con el símbolo ! de la primera línea>
feat: Agregar funcionalidad. PSA-12345 - Se agrega Controller/Request/Service para una funcionalidad determinada.
Más tipos
feat
: nuevas funcionalidades para el usuario, no funcionalidades que sirven para el equipo de desarrollo.fix
: corrección de errores en la aplicación de cara al usuario, no correcciones que impliquen la construcción y/o distribución de los artefactos a desplegardocs
: cambios en la documentaciónstyle
: formateo del código, que no impliquen cambios directos al código y sus funcionalidadesrefactor
: refactorización del código y sus funcionalidades, renombrar variables, renombrar clases, etc.test
: agregar tests, refactorizar tests, sin que se realicen cambios al código y sus funcionalidades (adding missing tests, refactoring tests; no production code change)chore
: agregar o actualizar funcionalidades que ayuden al equipo de desarrollo y ayuden a la construcción y/o distribución de los artefactos a desplegar
Más ejemplos
fix: Agregar funcionalidad. PSA-12345 - Se agrega Controller. - Se agrega mapeo de un campo - Se modifica serialización para mostrar nuevo campo
fix: Se corrige funcionalidad. PSA-12345 - Se corrige validación. feat: Se agrega funcionalidad. PSA-12345 - Se agrega Controller. test: Se agregan Tests. PSA-12345 - Se agrega test de servicio
Importante
Lo ideal es realizar un commit por cada tipo de cambio que se está realizando, pero si no se hace por separado, lo mejor sería diferenciarlo en el mensaje del commit.
refactor!: Se refactoriza funcionalidad. PSA-12345 - Se refactoriza servicio cambiando su constructor y modificando métodos. BREAKING CHANGE
Referencias
https://www.conventionalcommits.org/en/v1.0.0/
https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716