Guía Básica de Git
Git es el sistema de control de versiones más popular del mundo. Aprender Git es fundamental para cualquier desarrollador de software. Esta guía te enseñará los comandos básicos que necesitas para empezar.
¿Qué es Git?
Git es un sistema de control de versiones distribuido que te permite:
- Rastrear cambios en tu código
- Colaborar con otros desarrolladores
- Revertir a versiones anteriores
- Trabajar en múltiples características simultáneamente
Configuración Inicial
Antes de empezar, necesitas configurar Git:
# Configurar tu nombre
git config --global user.name "Tu Nombre"
# Configurar tu email
git config --global user.email "tu.email@ejemplo.com"
# Ver configuración
git config --list
Comandos Básicos
Iniciar un repositorio
# Iniciar un nuevo repositorio
git init
# Clonar un repositorio existente
git clone https://github.com/usuario/repo.git
Estado y cambios
# Ver el estado de los archivos
git status
# Ver los cambios realizados
git diff
# Ver el historial de commits
git log --oneline
Añadir y confirmar cambios
# Añadir un archivo específico
git add archivo.txt
# Añadir todos los archivos
git add .
# Hacer un commit
git commit -m "Mensaje descriptivo del cambio"
# Añadir y hacer commit en un solo paso
git commit -am "Mensaje del commit"
Flujo de Trabajo Básico
- Modificar archivos - Realiza cambios en tu código
- Revisar cambios - Usa
git statusygit diff - Añadir archivos - Usa
git addpara preparar los cambios - Confirmar cambios - Usa
git commitpara guardarlos
Trabajando con Remotos
# Añadir un repositorio remoto
git remote add origin https://github.com/usuario/repo.git
# Enviar cambios al repositorio remoto
git push origin main
# Obtener cambios del repositorio remoto
git pull origin main
# Ver repositorios remotos
git remote -v
Ramas (Branches)
Las ramas te permiten trabajar en diferentes características sin afectar el código principal.
# Crear una nueva rama
git branch nueva-feature
# Cambiar a una rama
git checkout nueva-feature
# Crear y cambiar a una rama en un paso
git checkout -b nueva-feature
# Fusionar una rama
git checkout main
git merge nueva-feature
# Eliminar una rama
git branch -d nueva-feature
Comandos Útiles
Deshacer cambios
# Descartar cambios en un archivo
git checkout -- archivo.txt
# Revertir el último commit
git reset --soft HEAD~1
# Revertir un commit específico
git revert <hash-del-commit>
Ver información
# Ver el historial con detalles
git log --graph --oneline --decorate
# Ver quién modificó cada línea
git blame archivo.txt
# Ver información de un commit específico
git show <hash-del-commit>
Buenas Prácticas
- Commits atómicos: Haz commits pequeños y específicos
- Mensajes claros: Usa mensajes descriptivos para tus commits
- Ramas descriptivas: Nombra tus ramas según la característica que desarrollas
- Actualización frecuente: Haz pull regularmente para evitar conflictos
Comandos Avanzados Básicos
# Stash: guardar cambios temporales
git stash
git stash pop
# Rebase: reorganizar el historial
git rebase main
# Cherry-pick: aplicar un commit específico
git cherry-pick <hash-del-commit>
Resumen Rápido
| Comando | Función |
|---|---|
git init | Inicia un repositorio |
git add . | Prepara todos los cambios |
git commit -m "msg" | Guarda los cambios |
git push | Envía cambios al remoto |
git pull | Obtiene cambios del remoto |
git checkout -b rama | Crea y cambia de rama |
git merge rama | Fusiona ramas |
Con estos comandos básicos puedes empezar a trabajar con Git de manera efectiva. ¡Practica regularmente y poco a poco dominarás el control de versiones!