¡Hola desarrolladores junior! ![]()
El control de versiones es una de las habilidades más importantes que debes dominar, pero puede ser intimidante al principio. Aquí tienes una guía práctica de Git con los comandos que usarás día a día.
¿Por Qué Git es Fundamental?
Git te permite:
- Hacer seguimiento de todos los cambios en tu código
- Trabajar en equipo sin pisarte los commits
- Volver a versiones anteriores si algo se rompe
- Experimentar con nuevas features sin miedo
- Mantener un historial completo de tu proyecto
Comandos Esenciales para Empezar
Configuración Inicial (Una Sola Vez)
# Configurar tu identidad
git config --global user.name "Tu Nombre"
git config --global user.email "tu.email@ejemplo.com"
# Ver tu configuración actual
git config --list
Inicializar y Clonar Repositorios
# Crear un nuevo repositorio
git init
# Clonar un repositorio existente
git clone https://github.com/usuario/proyecto.git
# Ver el estado actual
git status
El Flujo Básico: Add, Commit, Push
# Ver qué archivos han cambiado
git status
# Añadir archivos específicos al staging
git add archivo.js
git add carpeta/
# Añadir todos los archivos modificados
git add .
# Hacer commit con mensaje descriptivo
git commit -m "feat: añadir validación de formulario login"
# Subir cambios al repositorio remoto
git push origin main
Trabajando con Ramas (Branches)
¿Por Qué Usar Ramas?
Las ramas te permiten trabajar en nuevas features sin afectar el código principal.
# Ver todas las ramas
git branch
# Crear una nueva rama
git branch feature/nueva-funcionalidad
# Cambiar a una rama
git checkout feature/nueva-funcionalidad
# Crear y cambiar a una rama (atajo)
git checkout -b feature/login-social
# Volver a la rama principal
git checkout main
# Borrar una rama (después de merger)
git branch -d feature/funcionalidad-completada
Mergear Cambios
# Ir a la rama principal
git checkout main
# Traer últimos cambios
git pull origin main
# Mergear tu rama de feature
git merge feature/nueva-funcionalidad
# Subir los cambios mergeados
git push origin main
Mantener tu Código Actualizado
# Traer cambios del repositorio remoto
git pull origin main
# Ver diferencias antes de hacer pull
git diff HEAD origin/main
# Traer información sin mergear
git fetch origin
Viajar en el Tiempo con Git
Ver Historial de Commits
# Ver historial completo
git log
# Ver historial compacto (más legible)
git log --oneline
# Ver últimos 5 commits
git log -n 5
# Ver cambios de un commit específico
git show abc1234
Revertir Cambios
# Deshacer cambios en un archivo (antes de add)
git checkout -- archivo.js
# Quitar archivo del staging (después de add)
git reset HEAD archivo.js
# Crear un commit que revierte otro commit
git revert abc1234
# Ver diferencias de archivos modificados
git diff
Situaciones Comunes y Cómo Resolverlas
1. “Olvidé Añadir un Archivo a mi Último Commit”
# Añadir el archivo olvidado
git add archivo-olvidado.js
# Modificar el último commit
git commit --amend --no-edit
2. “Tengo Conflictos al Hacer Merge”
# Después de git pull, si hay conflictos:
# 1. Abrir archivos con conflictos en tu editor
# 2. Buscar las marcas <<<<<<< ======= >>>>>>>
# 3. Resolver manualmente los conflictos
# 4. Guardar archivos
# 5. Añadir y hacer commit
git add archivo-resuelto.js
git commit -m "resolve: conflicto en validación de usuario"
3. “Quiero Ignorar Archivos Temporales”
Crear archivo .gitignore:
# Dependencias
node_modules/
*.log
# Archivos del sistema
.DS_Store
Thumbs.db
# Variables de entorno
.env
.env.local
# Archivos de build
dist/
build/
Convenciones de Commits Profesionales
Formato Recomendado:
git commit -m "tipo: descripción breve"
# Ejemplos:
git commit -m "feat: añadir autenticación con Google"
git commit -m "fix: corregir validación de email en registro"
git commit -m "docs: actualizar README con instrucciones"
git commit -m "style: corregir indentación en header"
git commit -m "refactor: simplificar función de validación"
Tipos Comunes:
- feat: Nueva funcionalidad
- fix: Corrección de bug
- docs: Cambios en documentación
- style: Cambios de formato (espacios, comas, etc.)
- refactor: Cambio de código que no añade funcionalidad ni corrige bugs
- test: Añadir o modificar tests
Comandos de Emergencia
# Ver en qué rama estás
git branch --show-current
# Ver archivos modificados sin detalles
git status --porcelain
# Limpiar archivos no tracked
git clean -f
# Stash: guardar cambios temporalmente
git stash
git stash pop # recuperar cambios
# Ver configuración de remotes
git remote -v
Flujo de Trabajo Recomendado para Juniors
Cada Vez que Empiezas a Trabajar:
git status- Ver estado actualgit pull origin main- Traer últimos cambiosgit checkout -b feature/mi-nueva-feature- Crear rama para tu trabajo
Mientras Desarrollas:
- Hacer cambios en tu código
git add .- Stagear cambiosgit commit -m "descripción clara"- Hacer commit- Repetir 1-3 según avances
Al Terminar tu Feature:
git push origin feature/mi-nueva-feature- Subir tu rama- Crear Pull Request en GitHub
- Después del merge:
git checkout main && git pull origin main git branch -d feature/mi-nueva-feature- Limpiar rama local
Tips Pro para Juniors
1. Commits Pequeños y Frecuentes
# ❌ Evitar commits gigantes
git commit -m "fix everything"
# ✅ Mejor commits específicos
git commit -m "fix: validación de email en formulario registro"
git commit -m "feat: añadir loading spinner en login"
2. Revisar Antes de Commit
# Ver qué vas a commitear
git diff --staged
# Ver status antes de cada acción
git status
3. Usar Alias para Comandos Frecuentes
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
# Ahora puedes usar:
git st # en lugar de git status
git co main # en lugar de git checkout main
Errores Comunes que Debes Evitar
1. No Hacer Pull Antes de Push
# ❌ Malo
git push origin main # Error si hay cambios remotos
# ✅ Bueno
git pull origin main
git push origin main
2. Commits Directos a Main
# ❌ Evitar trabajar directamente en main
git checkout main
# ... hacer cambios y commit
# ✅ Usar ramas para features
git checkout -b feature/nueva-funcionalidad
# ... desarrollar en la rama
3. Mensajes de Commit Poco Descriptivos
# ❌ Mensajes poco útiles
git commit -m "fix"
git commit -m "changes"
git commit -m "asdf"
# ✅ Mensajes descriptivos
git commit -m "fix: corregir cálculo de precio en carrito"
git commit -m "feat: añadir botón de favoritos en productos"
Ejercicio Práctico
Crea tu primer proyecto con Git:
- Crea una carpeta nueva:
mkdir mi-primer-proyecto - Inicializa Git:
git init - Crea un archivo
README.mdcon descripción del proyecto - Añade y hace commit:
git add . && git commit -m "feat: añadir README inicial" - Crea un repositorio en GitHub y conecta tu proyecto local
- Sube tu código:
git push origin main
Tu Experiencia Importa
¿Cuál ha sido tu mayor desafío con Git? ¿Hay algún comando que te da miedo usar? ¿Has tenido algún “momento pánico” con Git?
Compartamos experiencias para aprender juntos. Recordemos: todos los desarrolladores han tenido problemas con Git al principio. ¡La práctica hace al maestro!
Próxima semana: “Testing para Juniors: Cómo escribir tus primeras pruebas”
Recursos adicionales:
- Git Cheat Sheet
- Visualizing Git
- Oh My Git! - Juego para aprender Git
#JuniorDev #Git #ControlDeVersiones #GitHub webdev #LearningToCode #DevTools