Situación Git → Buscador de Comandos — Herramienta Online Gratuita
Encuentre el comando Git exacto para su situación. Haga clic en un escenario para ver el comando con explicación y advertencias de seguridad.
Referencia de Situaciones a Comandos Git
Git es poderoso pero su sintaxis de comandos puede ser difícil de recordar, especialmente para operaciones menos comunes. Esta herramienta mapea situaciones reales de Git a sus comandos exactos, con explicaciones en lenguaje claro y advertencias para operaciones que no se pueden deshacer.
Operaciones Git Destructivas vs Seguras
Algunas operaciones de Git son seguras y reversibles (commits, ramas, stashes). Otras alteran permanentemente el historial o pueden causar pérdida de datos si se usan descuidadamente:
- Seguras: git stash, git branch, git checkout, git merge, git commit
- Precaución necesaria: git reset --hard, git push --force, git rebase (reescribe historial), git clean -fd
- Nunca hacer en ramas compartidas: force-push a main/master, rebase de commits públicos
Buenas Prácticas de Git
- Siempre cree una rama antes de hacer cambios — nunca trabaje directamente en main
- Haga commits frecuentes con mensajes claros y descriptivos
- Use
git statusygit diffantes de hacer commit - Prefiera
git revertsobregit reset --harden ramas compartidas - Use
git stashpara guardar temporalmente trabajo en progreso
Flujos de Trabajo Git para Equipos: Eligiendo la Estrategia Correcta
Elegir el flujo de trabajo Git correcto es una de las decisiones más impactantes para la productividad del equipo. El flujo de trabajo incorrecto crea conflictos de merge, bloquea despliegues y ralentiza la revisión de código.
Estrategias Populares de Branching en Git
- GitHub Flow: Simple y efectivo. Crea ramas feature desde main, abre PRs, mergea después de revisión. Mejor para equipos con despliegue continuo y releases pequeños y frecuentes. Usado por GitHub, Shopify y muchas startups.
- GitFlow: Usa ramas develop, feature, release y hotfix. Más estructurado pero pesado. Mejor para equipos con releases programados (apps móviles, software empresarial).
- Desarrollo Basado en Trunk: Todos commitean a main (trunk) frecuentemente, usando ramas feature de corta vida (1-2 días máx). Requiere feature flags para trabajo incompleto. Usado por Google, Facebook y Netflix.
Comandos Git que Todo Desarrollador Debe Dominar
- git rebase -i: El rebase interactivo te permite squash, reordenar, editar y eliminar commits antes de push. Esencial para un historial de commits limpio. Usa git rebase -i HEAD~5 para reestructurar tus últimos 5 commits.
- git bisect: Búsqueda binaria entre commits para encontrar cuál introdujo un bug. Automatizable con git bisect run <test-command>. Puede encontrar un bug en 1000 commits con solo 10 pasos.
- git stash: Guarda temporalmente los cambios para cambiar de rama. Usa git stash push -m "descripción" con un mensaje para recordar qué contiene cada stash.
- git reflog: Tu red de seguridad — muestra cada movimiento de HEAD, incluso después de resets y rebases. Si pierdes commits, git reflog puede recuperarlos en 90 días.
Preguntas Frecuentes sobre Git
¿Cómo deshago mi último commit en Git sin perder los cambios?
Use git reset --soft HEAD~1 para deshacer el último commit pero mantener todos los cambios en el área de staging. Use git reset HEAD~1 (modo mixed, el predeterminado) para deshacer el commit y quitar los cambios del staging pero mantenerlos en su directorio de trabajo. Solo use git reset --hard HEAD~1 si desea descartar permanentemente todos los cambios — esto no se puede deshacer una vez realizado.
¿Cómo elimino una rama local y remota?
Elimine una rama local con git branch -d nombre-rama (seguro, requiere que la rama esté fusionada) o git branch -D nombre-rama (forzar eliminación). Elimine una rama remota con git push origin --delete nombre-rama. Para limpiar referencias de seguimiento remoto obsoletas localmente, ejecute git fetch --prune o git remote prune origin.
¿Cuál es la diferencia entre git merge y git rebase?
git merge crea un nuevo commit de fusión que une dos ramas preservando el historial completo. git rebase reproduce sus commits sobre otra rama, produciendo un historial lineal más limpio. Use merge para ramas públicas y compartidas — es seguro y no destructivo. Use rebase solo en ramas de características locales antes de fusionar. Nunca haga rebase de commits ya enviados a una rama remota compartida — reescribe el historial y obliga a otros colaboradores a reconciliar historiales divergentes.
¿Cómo veo qué cambió en el último commit?
Use git show para ver el diff del commit más reciente incluyendo mensaje, autor, fecha y parche completo. Para un resumen sin el diff completo, use git show --stat. Para comparar dos commits específicos, use git diff commit1 commit2. Para ver el historial de un archivo específico, use git log --follow -p -- nombre-archivo.
Herramientas Relacionadas para Desarrolladores
- Calculadora SemVer — calcule incrementos de versión semántica y valide rangos de versiones npm
- Generador Docker Compose — genere docker-compose.yml con redes, volúmenes y variables de entorno
- Inspector de Archivos .ENV — detecte secretos expuestos y genere archivos .env.example seguros
- Probador de Regex — pruebe patrones regex con resaltado en vivo y explicaciones
- Ver todas las herramientas gratuitas para desarrolladores