Git Playground
Escribe, ejecuta y comparte fragmentos de código, sin instalaciones.
git log --oneline --graph --allCommits después de este paso
- ea85bd9 Merge branch 'feature' (HEAD -> main) <- f5363c6, 47b6cfb
- 47b6cfb Work on feature (feature) <- b2134da
- f5363c6 Hotfix on main <- b2134da
- b2134da Add app.txt
- Árbol de trabajo limpio
Cada ejecución repite todo el script y captura el repositorio después de cada línea. Haz clic en un paso para ver el grafo en ese momento.
Prueba comandos Git habituales
Git también funciona en esta terminal. Carga un flujo de trabajo listo para usar en el prompt, pulsa Ejecutar para ver cómo se ejecuta cada comando y abre la guía completa de cualquier comando que quieras entender.
git initecho "hello" > app.txtgit add app.txtgit commit -m "Add app.txt"git checkout -b featureecho "new feature" >> app.txtgit commit -am "Work on feature"git checkout -git merge featuregit log --oneline --graph
git initecho "v1" > notes.txtgit add notes.txtgit commit -m "Add notes.txt"echo "v2" >> notes.txtgit commit -am "Oops, wrong message"git reset --soft HEAD~1git statusgit commit -m "Update notes.txt"git log --oneline
Un Git playground online con grafo de commits en vivo
Un Git playground gratuito que ejecuta git de verdad en una terminal Linux aislada, no una imitación en JavaScript. Escribe comandos a la izquierda - git init, git add, git commit, git branch, git merge, git rebase, git reset -, pulsa Ejecutar y el panel del repositorio a la derecha redibuja el grafo de commits, las ramas, HEAD y el árbol de trabajo después de cada línea de tu script. Es la forma más rápida de practicar Git online y ver de verdad qué hizo cada comando.
Cada ejecución repite todo tu script desde una carpeta vacía y toma una instantánea del repositorio tras cada sentencia, así que puedes hacer clic en cualquier paso y ver el grafo en ese momento exacto. Un commit que git reset dejó atrás se queda en la imagen, atenuado, para que un deshacer muestre qué deshizo. Sin instalación, sin cuenta y sin tocar jamás ningún repositorio tuyo.
Qué hace diferente a este Git playground
- Git real, salida real: el sandbox ejecuta el binario
gitgenuino sobre Linux, así que los mensajes de error,git log --graph,git statusy los flags se comportan como en tu máquina - a diferencia de un simulador de Git que solo conoce los comandos que sus autores modelaron. La única diferencia deliberada: la identidad de autor y las fechas de los commits son fijas, así que los hashes se mantienen iguales entre ejecuciones. - Un grafo de commits que se actualiza tras cada línea: las ramas como carriles, los merges como curvas,
HEADy cada ref como etiqueta sobre su commit, más los archivos en staging, modificados, sin seguimiento y en conflicto leídos degit status. Haz clic en un paso para recorrer el historial de tu sesión. - Practica los comandos que más se buscan: deshacer un commit, aplastar commits, hacer rebase sobre main, cherry-pick, stash, resolver un conflicto de merge, forzar un push con seguridad. Carga un flujo de trabajo listo más abajo, o abre cualquier página de la referencia de comandos Git y pulsa "Pruébalo en vivo".
- Remotos sin red: crea un repositorio bare local, añádelo como
originy practicagit push,git fetch,git pullygit clonecontra él. El grafo muestraorigin/mainmoviéndose junto amain. - Ejecuciones deterministas: las fechas y la identidad están fijadas, así que el mismo script siempre produce los mismos hashes de commit. Comparte un script con un compañero y ambos veréis el mismo grafo.
Qué probar en el Git playground
- Ramifica y fusiona:
git checkout -b feature, haz un commit ahí, vuelve amain, haz otro commit y luegogit merge featurepara ver cómo el commit de merge une los dos carriles. - Deshaz con seguridad: haz un commit del que te arrepientas, ejecuta
git reset --soft HEAD~1y observa cómo el commit se desvanece del grafo mientras tus cambios reaparecen como archivos en staging. Después pruebagit reverty compara. - Rebase frente a merge: construye dos veces el mismo historial de dos ramas, termina uno con
git mergey el otro congit rebase main, y compara la forma de los dos grafos lado a lado. - Un conflicto de merge a propósito: cambia la misma línea en dos ramas, fusiona y mira cómo el archivo aparece en la fila de Conflictos. Arréglalo,
git add,git commity observa cómo se limpia el conflicto.
FAQ del Git playground
¿Es gratis este Git playground?
¿Es Git real o una simulación?
git genuino dentro de un contenedor Linux aislado, así que los comandos, los flags, la salida y los mensajes de error coinciden con lo que ves en tu equipo. Se añaden dos cosas a propósito: una identidad de autor por defecto (que tu propio git config user.name sobrescribe, igual que haría en local) y fechas de commit fijadas, para que los hashes de commit sean los mismos en cada ejecución. Nada puede pedirte datos a mitad de la ejecución, así que un comando interactivo como git rebase -i necesita un editor programado - los ejemplos muestran cómo.¿Cómo funciona el grafo de commits?
HEAD, la lista de stashes y git status. La página dibuja el grafo a partir de esas instantáneas: un carril por rama, los merges como curvas y cada ref como etiqueta. Haz clic en el número de un paso para ver el repositorio tal como quedó justo después de esa línea. En una sesión muy larga, los prompts anteriores solo se capturan al final, y la tira de pasos muestra únicamente los estados que realmente se registraron.¿Puedo practicar ramas, merges y rebases aquí?
¿Puedo usar git push, pull, fetch y clone?
git clone https://… no puede llegar a internet. Crea un repositorio bare en una subcarpeta (git init --bare remote.git), añádelo como origin y haz push, fetch, pull y clone contra él: las ramas de seguimiento remoto aparecen en el grafo igual que lo harían con GitHub.¿Mi trabajo persiste entre ejecuciones?
¿En qué se diferencia del terminal Linux online?
¿Hay un curso que enseñe Git desde cero?
git init hasta ramas, merges, rebases y remotos con ejercicios corregidos, y cada página de comando de la referencia de Git tiene un botón "Pruébalo en vivo" que abre este playground con un ejemplo ejecutable.