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:

  1. Untracked: Archivos nuevos no rastreados por Git.
  2. Modified: Archivos que han sido modificados pero no preparados para commit.
  3. Staged: Archivos preparados para el próximo commit.
  4. 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).

¿Te ha gustado? ¡Compártelo!