10 tips que apliqué en mis commits y me han ayudado muchísimo (con ejemplos).

12-08-2023

5 min read

github

Table of Contents

Unidad lógica:

Cada commit debe representar una unidad lógica de trabajo completa. Esto significa que el commit debe contener todos los cambios necesarios para implementar una nueva característica, resolver un problema o realizar una tarea concreta.

1
2//no recomendable
3git commit -m "feat: env added and fetch implemented"
4
5//recomendable
6git commit -m "feat: env variables added, dependencies updated and service for fetching main data implemented"
7

Commits Atómicos:

Realiza commits pequeños y atómicos, enfocados en una única tarea o cambio y con un estado funcional y coherente. Esto facilita la revisión y comprensión de los cambios en el historial. Evita realizar commits que dejen el código en un estado inestable o incompilable.

1
2#no recomendable, acción muy genérica que seguramente haya implicado muchos cambios en el código
3git commit -m "feat: product catalog"
4
5#recomendable: fracciona las acciones y ve haciendo commits conforme estén finalizadas
6git commit -m "feat: add product catalog table header added"
7git commit -m "feat: add product catalog table body added"
8git commit -m "feat: add orderby in product catalog table implemented"
9

Te recomiendo que le eches un vistazo a este artículo sobre Atomic Commits

Coherencia temática:

Agrupa cambios relacionados en un mismo commit. Por ejemplo, si estás trabajando en una función y realizas cambios en múltiples archivos para implementarla, estos cambios deben agruparse en un solo commit.

1#archivos modificados:
2#product.js
3#useFecthProducts.js
4#CartProvider.js
5git commit -m "feat: add POST in order to get product by id"

Mensajes Claros:

Proporciona un mensaje de commit significativo que describa de manera clara y concisa el propósito del commit. Esto ayuda a otros miembros del equipo a comprender rápidamente el cambio introducido.

1
2#no recomendable
3git commit -m "syles: create variables"
4
5#recomendable:
6git commit -m "feat: create sass variables with global styles"
7

Prefijo de Mensajes:

Puedes usar prefijos en tus mensajes de commit para indicar el tipo de cambio que realizaste. Por ejemplo:

  • feat: Nueva característica
  • fix: Corrección de error
  • docs: Cambios en la documentación
  • style: Cambios de estilo (formato, espacios en blanco, etc.)
  • refactor: Cambios de refactorización de código
  • test: Cambios en pruebas
  • chore: Tareas de mantenimiento, mejoras, etc.
1git commit -m "feat: tags functionality added in tasks"
2
3git commit -m "fix: rxjs's finalize() fixed in table after load data"
4
5git commit -m "refactor: unnecesary modules purged in app.module"
6
7git commit -m "style: main styles in secondary and primary buttons changed"
8
9git commit -m "docs: README.md with intructions about app commands added"
10
11git commit -m "test: unit testing for user fetching service implemented"
12
13git commit -m "chore: change from SQlite to MySQL as main database

Mensaje en Presente:

Escribe los mensajes de commit en tiempo presente imperativo. Por ejemplo, "Agregada función de búsqueda" en lugar de "Agregó función de búsqueda".

Referencia a Problemas:

Si tu proyecto utiliza algún sistema de seguimiento de problemas (como GitHub Issues), puedes referenciarlos en los mensajes de commit. Por ejemplo: "Corrige error de validación (#123)".

Evita commits innecesarios:

No realices commits por cada pequeño cambio incremental mientras trabajas en una tarea. En su lugar, espera a tener un conjunto coherente de cambios antes de hacer un commit.

Amend Commits:

Si cometes un error en un commit reciente y aún no lo has enviado, puedes usar git commit --amend para corregirlo.

Aquí tienes un enlace con más información acerca de cómo puedes usarlo en tu día a día.

Referencia los commits siempre que sea posible

Si el trabajo sobre el cual estás escribiendo un commit resuelve, modifica o guarda relación con un commit previamente escrito, referéncialo. Esto te permitirá en un futuro analizar el historial de acciones sobre un determinado bug o implementación en tu código.

1#correcto pero mejorable
2git commit -m "fix: mongodb database connection fixed"
3
4#correcto: haciendo click sobre la referencia podrás ver el contenido relacionado con el bug a resolver.
5git commit -m "fix: mongodb database connection fixed (#1234)"
6

Recuerda que unos buenos hábitos de commit no solo facilitan la colaboración con otros, sino que también te ayudan a mantenerte organizado y a entender mejor el historial de tu proyecto.