Guía Interactiva de Commits

Aprende a escribir mensajes de commit claros, concisos y efectivos.

Apuntes de Git: Fundamentos

Git es un sistema de control de versiones distribuido (DVCS) ampliamente utilizado para rastrear cambios en el código fuente durante el desarrollo de software. Permite a múltiples desarrolladores colaborar en un proyecto sin sobrescribir el trabajo de los demás, facilitando la gestión de versiones y la integración de cambios.

Conceptos Clave

  • Repositorio (Repository): El directorio de trabajo donde Git almacena todos los archivos del proyecto y su historial de versiones.
  • Commit: Una instantánea de los cambios en tu repositorio en un momento dado. Cada commit tiene un mensaje que describe los cambios.
  • Rama (Branch): Una línea de desarrollo independiente. Permite trabajar en nuevas características o correcciones sin afectar la versión principal del proyecto.
  • Merge: Proceso de combinar los cambios de una rama en otra.
  • HEAD: Puntero a la rama o commit actual en el que te encuentras.
  • Área de Staging (Staging Area/Index): Un paso intermedio entre tu directorio de trabajo y el repositorio. Aquí seleccionas los cambios que quieres incluir en el próximo commit.

Comandos Básicos

  • git init: Inicializa un nuevo repositorio Git en el directorio actual.
  • git clone [URL]: Clona un repositorio existente desde una URL remota.
  • git add [archivo]: Añade un archivo al área de staging. Usa . para añadir todos los cambios.
  • git commit -m "Mensaje": Guarda los cambios del área de staging en el repositorio con un mensaje descriptivo.
  • git status: Muestra el estado del directorio de trabajo y el área de staging.
  • git log: Muestra el historial de commits.
  • git branch [nombre_rama]: Crea una nueva rama.
  • git checkout [nombre_rama]: Cambia a una rama existente.
  • git merge [nombre_rama]: Combina la rama especificada con la rama actual.
  • git pull: Descarga y combina los cambios de un repositorio remoto.
  • git push: Sube los commits locales a un repositorio remoto.

Esta es solo una introducción a Git. La clave para dominarlo es la práctica constante y explorar su amplia gama de funcionalidades.

¿Por Qué Esforzarse?

Un buen historial de commits es una de las mejores herramientas de un equipo.

🚀 Facilita la Colaboración

Ayuda a tus compañeros (y a tu futuro yo) a entender rápidamente el propósito de cada cambio sin tener que descifrar el código.

🔍 Mejora la Depuración

Permite usar herramientas como `git bisect` para encontrar el origen de un bug de forma eficiente, leyendo solo los resúmenes.

📖 Genera un Historial Claro

Convierte el log de Git en un changelog legible y significativo que documenta la evolución del proyecto.

✅ Agiliza las Revisiones

Proporciona el contexto necesario para que las revisiones de código (Pull Requests) sean más rápidas y efectivas.

Principios Fundamentales

Imperativo y Presente: Escribe como si dieras una orden. "Añadir función" en vez de "Añadí" o "Se añade".

Conciso y Directo: El resumen debe ser corto y al grano. El cuerpo explica los detalles.

Explica el "Porqué", no el "Qué": El código ya muestra qué cambió. El commit debe explicar por qué fue necesario ese cambio.