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.