Git es una herramienta esencial para cualquier desarrollador. Te permite controlar versiones, colaborar en equipo y mantener tu código organizado. Te explicaré los comandos git más usados, desde lo más básico hasta lo avanzado, con ejemplos prácticos para que puedas aplicarlo de inmediato.
Lo Fundamental
Para empezar con Git, necesitas conocer los comandos esenciales que te permiten inicializar un repositorio, guardar cambios y revisar el estado de tu proyecto.
- Inicializar un repositorio:
Si estás empezando un proyecto desde cero, usagit init
para crear un nuevo repositorio de Git en tu carpeta actual.
git init
- Clonar un repositorio existente:
Si ya tienes un proyecto en GitHub o en otro servidor, puedes clonarlo congit clone
.
git clone https://github.com/usuario/repositorio.git
- Añadir cambios al staging area:
Antes de guardar cambios, debes añadirlos al staging area congit add
.
git add archivo.txt
O, si quieres añadir todos los cambios:
git add .
- Guardar cambios con un commit:
Un commit es como una foto instantánea de tu proyecto en ese momento. Usagit commit
para guardar los cambios.
git commit -m "Añadí archivo.txt"
- Revisar el estado del repositorio:
Para ver qué archivos han sido modificados, añadidos o eliminados, usagit status
.
git status
Lo Básico
Una vez que dominas lo fundamental, es hora de aprender a trabajar con ramas, subir cambios a un repositorio remoto y actualizar tu código.
- Subir cambios a un repositorio remoto:
Si has hecho cambios locales y quieres subirlos a GitHub, usagit push
.
git push origin main
- Actualizar tu repositorio local:
Si alguien más ha hecho cambios en el repositorio remoto, puedes actualizar tu copia local congit pull
.
git pull origin main
- Trabajar con ramas:
Las ramas te permiten trabajar en nuevas funcionalidades sin afectar el código principal. Crea una nueva rama congit checkout -b
.
git checkout -b feature/nueva-funcionalidad
- Cambiar entre ramas:
Para cambiar a una rama existente, usagit checkout
.
git checkout main
- Fusionar ramas:
Cuando termines de trabajar en una rama, puedes fusionarla con la rama principal usandogit merge
.
git checkout main
git merge feature/nueva-funcionalidad
Lo Avanzado
Hay comandos Git que ofrecen herramientas avanzadas para manejar situaciones más complejas, como reorganizar commits, guardar cambios temporalmente o resolver conflictos.
- Reorganizar commits con rebase:
Si quieres mover tus commits a la punta de otra rama, usagit rebase
.
git checkout feature/nueva-funcionalidad
git rebase main
- Guardar cambios temporalmente con stash:
Si necesitas cambiar de rama pero no quieres hacer un commit, usagit stash
para guardar tus cambios temporalmente.
git stash
Luego, puedes recuperarlos con:
git stash pop
- Ver el historial de commits:
Para revisar el historial de commits, usagit log
.
git log
- Comparar cambios con diff:
Si quieres ver las diferencias entre tu directorio de trabajo y el staging area, usagit diff
.
git diff
- Deshacer cambios con reset:
Si añadiste un archivo al staging area por error, puedes eliminarlo congit reset
.
git reset archivo.txt
Configuración de Git
Los comandos git son altamente personalizable. Aquí te explico cómo configurarlo para que se adapte a tus necesidades.
- Configurar usuario y correo:
Es importante que Git sepa quién eres. Configura tu nombre y correo con:
git config --global user.name "Tu Nombre"
git config --global user.email "tuemail@ejemplo.com"
- Definir un editor de texto:
Si prefieres usar un editor específico para los mensajes de commit, configúralo con:
git config --global core.editor "nano"
- Crear alias para comandos:
Si quieres ahorrar tiempo, puedes crear alias para comandos largos. Por ejemplo:
git config --global alias.st status
Ahora puedes usar git st
en lugar de git status
.
- Habilitar colores en la salida:
Para que Git muestre colores en la terminal, usa:
git config --global color.ui auto
- Manejo de fin de línea:
Para evitar problemas entre sistemas operativos, configura el manejo de fin de línea:
- Windows:
git config --global core.autocrlf true
- Linux/Mac:
git config --global core.autocrlf input
- Almacenar credenciales:
Para no tener que ingresar tu usuario y contraseña cada vez, usa:
git config --global credential.helper store
Conclusión
Git es una herramienta poderosa que, una vez dominada, te permitirá trabajar de manera más eficiente y colaborativa. Desde lo más básico como git init
y git commit
, hasta lo avanzado como git rebase
y git stash
, cada comando tiene un propósito específico que te ayudará a mantener tu código organizado y seguro.
Además, con la configuración adecuada, puedes personalizar Git para que se adapte perfectamente a tu flujo de trabajo 🚀
5 Retos para Practicar
- Crea un repositorio local, añade algunos archivos y haz tu primer commit.
- Clona un repositorio de GitHub, haz cambios y sube tus modificaciones.
- Crea una nueva rama, trabaja en una funcionalidad y fusiona la rama con
main
. - Resuelve un conflicto de fusión modificando un archivo en dos ramas diferentes.
- Configura Git con tu nombre, correo y alias útiles para agilizar tu flujo de trabajo.
Sigueme en mis redes sociales para más contenido