Git y GitHub: Guía completa para principiantes
Git y GitHub: Guía completa para principiantes
¿Qué son Git y GitHub? La diferencia clave
Git y GitHub son conceptos diferentes que suelen confundirse. Git es el motor y GitHub es el lugar donde se aloja el código .
La forma más sencilla de recordarlo: Git es la herramienta que controla tu código, GitHub es el lugar donde lo guardas para que otros puedan verlo . Puedes usar Git sin GitHub, pero la mayoría de los desarrolladores los usan juntos .
Paso 1: Instalar y configurar Git
Instalación
Windows:
# Descarga el instalador desde git-scm.com # o usa el gestor de paquetes winget: winget install Git.Git
macOS:
brew install git
Linux (Ubuntu/Debian):
sudo apt update sudo apt install git
Verifica la instalación:
git --version
Configuración básica
Git necesita saber quién eres para asociar cada commit a tu identidad :
git config --global user.name "Tu Nombre" git config --global user.email "tu.email@ejemplo.com"
Verifica la configuración:
git config --global --list
Paso 2: Conceptos fundamentales de Git
Las tres áreas de Git
Git maneja tres espacios de trabajo :
Directorio de trabajo (working directory): Los archivos que estás editando
Área de preparación (staging area): Cambios que has marcado para guardar
Repositorio local: Historial completo de commits guardados
Comandos esenciales
Flujo de trabajo básico
Editas archivos en tu directorio de trabajo
Preparas cambios con
git addConfirmas cambios con
git commit -m "mensaje descriptivo"
Paso 3: Crear un repositorio en GitHub
Desde la interfaz web
Inicia sesión en GitHub.com
Haz clic en el + en la esquina superior derecha
Selecciona "New repository"
Completa el formulario:
Conectar un repositorio local a GitHub
Si ya tienes un proyecto local y quieres subirlo a GitHub :
# Navega a tu proyecto cd ruta/de/tu/proyecto # Inicializa Git git init # Añade todos los archivos git add . # Haz el commit inicial git commit -m "Initial commit" # Conecta con el repositorio remoto git remote add origin https://github.com/tu-usuario/tu-repositorio.git # Sube los cambios git branch -M main git push -u origin main
Paso 4: Trabajar con ramas (branches)
Las ramas permiten desarrollar funcionalidades sin afectar el código estable (normalmente la rama main) .
Comandos de ramas
Buenas prácticas para nombrar ramas
Usa nombres descriptivos:
feature/autenticacion,bugfix/error-loginSepara palabras con guiones o guiones bajos
Si trabajas en equipo, incluye el número de incidencia:
issue-42-fix-login
# Crear y moverte a una nueva rama git switch -c feature/nueva-funcionalidad # Hacer cambios y commits en la rama git add . git commit -m "Agrega nueva funcionalidad" # Volver a main y fusionar git switch main git merge feature/nueva-funcionalidad
Paso 5: Colaboración con GitHub
Clonar un repositorio
# HTTPS git clone https://github.com/usuario/repositorio.git # SSH (recomendado) git clone git@github.com:usuario/repositorio.git
Sincronizar cambios
# Descargar cambios del remoto git pull origin main # Subir cambios locales git push origin main
Pull Requests (PR)
Los Pull Requests son la forma principal de colaborar en GitHub :
Fork el repositorio (si no tienes permisos de escritura)
Crea una rama con tu contribución
Haz commits y sube la rama (
git push)Abre un Pull Request desde la interfaz web
Espera revisión y, si todo está bien, merge
Paso 6: Deshacer cambios
Restaurar archivos en el directorio de trabajo
# Descarta cambios en un archivo (lo vuelve a la versión del último commit) git restore <archivo>
git restore es el comando moderno para esta operación .
Deshacer el último commit
# Revertir un commit publicado (seguro) git revert <hash-del-commit> # Obtén el hash con: git log --oneline
El comando git revert crea un nuevo commit que deshace los cambios del commit especificado, manteniendo el historial intacto .
Paso 7: Buenas prácticas
Mensajes de commit
Escribe mensajes en inglés que sean comprensibles incluso años después
Explica el por qué, no solo el qué
✅ Buen ejemplo:
Fix login error when user submits empty form
❌ Mal ejemplo:
fixed stuff
Recomendaciones generales
✅ Haz:
Commits frecuentes con cambios lógicos
git pullantes degit push
❌ Evita:
Hacer commits enormes que mezclan múltiples cambios
Subir código sin probar
Forzar push (
git push --force) en ramas compartidas
Recursos y herramientas útiles
Clientes gráficos de Git
GitHub Desktop: Interfaz oficial de GitHub
GitKraken y Sourcetree: Alternativas populares
Visual Studio Code: Incluye integración nativa con Git
Alternativas a GitHub
Resumen rápido de comandos
| Acción | Comando |
|---|---|
| Crear repositorio local | git init |
| Ver estado | git status |
| Preparar archivos | git add . |
| Hacer commit | git commit -m "mensaje" |
| Subir cambios | git push origin main |
| Bajar cambios | git pull origin main |
| Crear rama | git switch -c nombre-rama |
| Ver historial | git log --oneline |
Comentarios
Publicar un comentario