Por Hugo Cayón Laso
Git desde cero: guía básica de control de versiones para desarrolladores
¿Qué es Git y para qué sirve?
Git es un sistema de control de versiones distribuido que permite registrar cambios en el código, colaborar con otros desarrolladores y volver atrás cuando algo falla.
Git sirve para resolver problemas muy comunes en el desarrollo de software:
-
Guardar el historial del proyecto Permite volver a versiones anteriores si algo se rompe o deja de funcionar.
-
Trabajar sin miedo a equivocarte Puedes experimentar con el código sabiendo que siempre podrás deshacer los cambios.
-
Colaborar con otros desarrolladores Varias personas pueden trabajar en el mismo proyecto sin sobrescribir el trabajo de los demás.
-
Controlar quién hizo cada cambio Cada modificación queda asociada a una persona y a un momento concreto.
-
Organizar el desarrollo con ramas Facilita trabajar en nuevas funcionalidades, correcciones o pruebas sin afectar al código principal.
-
Integrarse con plataformas como GitHub o GitLab Permite compartir el código, revisar cambios y automatizar despliegues.
En resumen, Git es imprescindible en cualquier proyecto profesional.
Instalación de Git
Para instalar Git, sigue estos pasos según tu sistema operativo:
Windows:
Descarga el instalador desde git-scm.com y sigue las instrucciones.
macOS:
Usa Homebrew: brew install git o descarga el instalador desde git-scm.com.
Linux:
Usa el gestor de paquetes de tu distribución, por ejemplo en Ubuntu: sudo apt-get install git.
Configuración inicial
Git necesita saber quién eres para poder asociar los cambios a una persona concreta. Esta información se guarda en cada commit.
Configura tu nombre y correo electrónico:
git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"
Esta configuración se hace una sola vez por equipo.
Para verificar la configuración, usa:
git config --list
Creación de un repositorio Git
Para iniciar un nuevo repositorio Git en tu proyecto, navega a la carpeta del proyecto y ejecuta:
git init
Esto crea una carpeta oculta .git donde Git almacenará toda la información del repositorio.
Clonar un repositorio existente:
git clone url-del-repositorio
Estados de Git
Git tiene cuatro estados principales para los archivos:
- Untracked: Archivos nuevos no rastreados por Git.
- Modified: Archivos que han sido modificados pero no preparados para commit.
- Staged: Archivos preparados para el próximo commit.
- Committed: Cambios guardados en el historial de Git.
Añadir archivos al área de preparación (staging area)
Para preparar archivos para el próximo commit, usa:
git add nombre-del-archivo
Para añadir todos los archivos modificados:
git add .
Hacer un commit
Para guardar los cambios preparados en el historial de Git, usa:
git commit -m "Mensaje descriptivo del commit"
El mensaje debe ser claro y describir los cambios realizados.
Ver el estado del repositorio
Para ver el estado actual del repositorio y los archivos, usa:
git status
Historial de commits:
git log
Ver un historial más compacto:
git log --oneline
Trabajar con ramas
Las ramas permiten desarrollar nuevas funcionalidades o corregir errores sin afectar al código principal.
Crear una nueva rama:
git branch nombre-de-la-rama
Cambiar a una rama existente:
git checkout nombre-de-la-rama
Crear y cambiar a una nueva rama en un solo comando:
git checkout -b nombre-de-la-rama
Listar todas las ramas:
git branch
Fusionar una rama en la rama actual:
git merge nombre-de-la-rama
Eliminar una rama:
git branch -d nombre-de-la-rama
Trabajar con repositorios remotos
Para conectar tu repositorio local con un repositorio remoto (por ejemplo, en GitHub), usa:
git remote add origin url-del-repositorio
Enviar cambios al repositorio remoto:
git push origin nombre-de-la-rama
Obtener cambios del repositorio remoto:
git pull origin nombre-de-la-rama
Uso de .gitignore
El archivo .gitignore permite evitar subir archivos innecesarios como:
- node_modules
- archivos de entorno (.env)
- builds
Ejemplo:
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
Buenas prácticas con Git
- Realiza commits frecuentes con mensajes claros, que describan los cambios realizados.
- Usa ramas para desarrollar nuevas funcionalidades.
- Revisa los cambios antes de hacer un commit.
- Mantén tu repositorio remoto actualizado.
- Evita subir archivos innecesarios (usa un archivo
.gitignore). - Colabora y revisa el código de otros desarrolladores.
- Aprende a resolver conflictos de fusión (merge conflicts).