Tabla de contenido
- ¿Qué es Git?
- ¿Por qué necesitamos control de versiones?
- Conceptos fundamentales de Git
- Instalación de Git
- Los primeros comandos que debes conocer
- Git vs GitHub: ¿son lo mismo?
Si llevas algo de tiempo en el mundo del desarrollo, seguramente has escuchado Git. Pero más allá del nombre, ¿sabes realmente qué es, por qué existe y cómo puede mejorar tu flujo de trabajo? Este artículo es el punto de partida.
¿Qué es Git?
Git es un sistema de control de versiones distribuido, creado por Linus Torvalds en 2005 (el mismo creador del kernel de Linux) para gestionar el desarrollo del propio kernel. Hoy en día es la herramienta de control de versiones más utilizada en el mundo.
En palabras sencillas: Git guarda el historial completo de todos los cambios que has hecho en tu código. Cada vez que guardas un “punto de control” (llamado commit), Git recuerda exactamente cómo estaban todos tus archivos en ese momento. Si algo sale mal, puedes volver a cualquier punto anterior.
¿Por qué necesitamos control de versiones?
Imagina que estás desarrollando una aplicación. Llevas semanas trabajando y de repente, después de modificar varias funciones, algo deja de funcionar y no recuerdas qué cambiaste. Sin Git, estás en problemas.
O peor: trabajas en equipo y tu compañero modifica el mismo archivo que tú. ¿Cómo fusionan los cambios sin perder ninguno? Sin control de versiones, esto es un caos.
Git resuelve todos estos problemas:
- Historial completo: sabes exactamente qué cambió, cuándo y quién lo hizo.
- Trabajo en paralelo: múltiples personas pueden trabajar en el mismo proyecto sin pisarse.
- Ramas independientes: puedes experimentar con nuevas funcionalidades sin afectar el código estable.
- Recuperación: si algo falla, puedes volver atrás en segundos.
Conceptos fundamentales de Git
Antes de ver comandos, hay tres conceptos que debes tener claros:
Repositorio (repo): Es la carpeta de tu proyecto junto con todo el historial de cambios que Git ha guardado. Puede vivir en tu computadora (repositorio local) o en un servidor como GitHub (repositorio remoto).
Commit: Es una “foto” del estado de tus archivos en un momento dado. Cada commit tiene un mensaje descriptivo y un identificador único. Piensa en los commits como los puntos de guardado de un videojuego.
Rama (branch): Es una línea de desarrollo independiente. La rama principal se suele llamar main (antes master). Cuando quieres desarrollar una nueva funcionalidad, creas una rama nueva para no afectar la rama principal hasta que estés listo.
Instalación de Git
Mac:
brew install git
Bash
O descarga el instalador desde git-scm.com.
Windows:
Descarga el instalador desde git-scm.com/download/win.
Linux (Ubuntu/Debian):
sudo apt-get install git
Bash
Verifica que quedó instalado:
git --version
Bash
Después de instalar, configura tu nombre y correo (Git los usa para identificar tus commits):
git config --global user.name "Tu Nombre"
git config --global user.email "tu@correo.com"
Bash
Los primeros comandos que debes conocer
Inicializar un repositorio en tu proyecto:
git init
Bash
Este comando crea una carpeta oculta .git donde Git guardará todo el historial.
Ver el estado de tus archivos:
git status
Bash
Te dice qué archivos han cambiado y cuáles están listos para ser guardados en un commit.
Preparar archivos para el commit (staging):
git add archivo.html # Un archivo específico
git add . # Todos los archivos modificados
Bash
Crear un commit:
git commit -m "feat: agrega la página de inicio"
Bash
Ver el historial de commits:
git log
Bash
O en formato compacto:
git log --oneline
Bash
Crear y cambiar de rama:
git checkout -b mi-nueva-funcionalidad
Bash
Volver a una versión anterior (sin perder el historial):
git revert HEAD
Bash
Git vs GitHub: ¿son lo mismo?
Esta es una de las confusiones más comunes. No, no son lo mismo.
Git es el software de control de versiones que se instala en tu computadora. Funciona completamente sin internet.
GitHub es una plataforma web que aloja repositorios Git en la nube. Facilita la colaboración entre desarrolladores, permite revisar código a través de Pull Requests, y es donde vive la mayor parte del código open source del mundo.
Otras plataformas similares a GitHub son GitLab y Bitbucket, pero todas usan Git como base.
La relación es simple: Git es el motor, GitHub (o cualquier otra plataforma) es el garaje donde guardas y compartes tu carro.
🎯 Reto Ninja
🕰️ Viaje en el Tiempo
Crea una carpeta nueva en tu equipo llamada mi-primer-repo.
Abre una terminal dentro de esa carpeta e inicializa Git con git init.
Crea un archivo README.md, agrega algo de texto y prepáralo con git add ..
Haz tu primer commit oficial: git commit -m "primer commit ninja".
Usa git log para ver tu hazaña grabada en la historia.
✅ Checklist de Dominio
Pergamino del Cronista
Dominar Git es una de las inversiones más importantes que puedes hacer como desarrollador. No importa en qué lenguaje programes o qué tipo de proyectos desarrolles: Git estará ahí. Empieza con los comandos básicos, practica creando commits frecuentes, y en poco tiempo se volverá parte natural de tu flujo de trabajo.