Git Playground
Escreva, execute e compartilhe trechos de código - sem instalação.
git log --oneline --graph --allCommits depois deste passo
- ea85bd9 Merge branch 'feature' (HEAD -> main) <- f5363c6, 47b6cfb
- 47b6cfb Work on feature (feature) <- b2134da
- f5363c6 Hotfix on main <- b2134da
- b2134da Add app.txt
- Árvore de trabalho limpa
Cada execução repete todo o script e captura o repositório após cada linha. Clique em um passo para ver o grafo naquele momento.
Experimente comandos Git comuns
O Git também roda neste terminal. Carregue um fluxo de trabalho pronto no prompt, clique em Executar para ver cada comando rodar e abra o guia completo de qualquer comando que queira 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
Um Git playground online com grafo de commits ao vivo
Um Git playground gratuito que roda o git de verdade em um terminal Linux isolado, não uma imitação em JavaScript. Digite comandos à esquerda - git init, git add, git commit, git branch, git merge, git rebase, git reset -, pressione Executar e o painel do repositório à direita redesenha o grafo de commits, os branches, o HEAD e a árvore de trabalho depois de cada linha do seu script. É o jeito mais rápido de praticar Git online e realmente ver o que cada comando fez.
Cada execução repete o seu script inteiro a partir de uma pasta vazia e tira um snapshot do repositório após cada instrução, então você pode clicar em qualquer passo e ver o grafo naquele exato momento. Um commit que um git reset deixou para trás continua no desenho, esmaecido, para que um desfazer mostre o que foi desfeito. Sem instalação, sem conta e sem tocar em nenhum repositório seu.
O que torna este Git playground diferente
- Git real, saída real: o sandbox executa o binário
gitgenuíno no Linux, então mensagens de erro,git log --graph,git statuse as flags se comportam como na sua máquina - diferente de um simulador de Git que só conhece os comandos que seus autores modelaram. A única diferença proposital: a identidade do autor e as datas dos commits são fixas, então os hashes continuam os mesmos entre execuções. - Um grafo de commits que se atualiza a cada linha: branches como faixas, merges como curvas,
HEADe cada ref como rótulo no seu commit, mais os arquivos em stage, modificados, não rastreados e em conflito lidos dogit status. Clique em um passo para percorrer o histórico da sua sessão. - Pratique os comandos que as pessoas mais procuram: desfazer um commit, fazer squash de commits, rebase em cima de main, cherry-pick, stash, resolver um conflito de merge, force-push com segurança. Carregue um fluxo pronto abaixo, ou abra qualquer página da referência de comandos Git e clique em "Experimente ao vivo".
- Remotos sem rede: crie um repositório bare local, adicione-o como
origine pratiquegit push,git fetch,git pullegit clonecontra ele. O grafo mostraorigin/mainandando ao lado demain. - Execuções determinísticas: datas e identidade são fixas, então o mesmo script sempre produz os mesmos hashes de commit. Compartilhe um script com um colega e os dois verão o mesmo grafo.
O que experimentar no Git playground
- Branch e merge:
git checkout -b feature, faça um commit nele, volte paramain, faça outro commit lá também e entãogit merge featurepara ver o commit de merge unir as duas faixas. - Desfaça com segurança: faça um commit do qual se arrependa, rode
git reset --soft HEAD~1e veja o commit desaparecer do grafo enquanto suas mudanças reaparecem como arquivos em stage. Depois testegit reverte compare. - Rebase versus merge: construa o mesmo histórico de dois branches duas vezes, termine um com
git mergee o outro comgit rebase main, e compare o formato dos dois grafos lado a lado. - Um conflito de merge de propósito: mude a mesma linha em dois branches, faça o merge e veja o arquivo cair na linha de Conflitos. Corrija,
git add,git commite veja o conflito sumir.
FAQ do Git playground
Este Git playground é gratuito?
É Git de verdade ou uma simulação?
git genuíno dentro de um contêiner Linux isolado, então comandos, flags, saída e mensagens de erro batem com o que você vê localmente. Duas coisas são acrescentadas de propósito: uma identidade de autor padrão (que o seu próprio git config user.name sobrescreve, como faria localmente) e datas de commit fixas, para que os hashes de commit sejam iguais em toda execução. Nada consegue te perguntar algo no meio da execução, então um comando interativo como git rebase -i precisa de um editor programado - os exemplos mostram como.Como funciona o grafo de commits?
HEAD, a lista de stash e o git status. A página desenha o grafo a partir desses snapshots: uma faixa por branch, merges como curvas e cada ref como rótulo. Clique no número de um passo para ver o repositório como ele estava logo depois daquela linha. Em uma sessão muito longa os prompts anteriores são capturados apenas no fim, e a trilha de passos mostra só os estados que foram realmente registrados.Posso praticar branching, merge e rebase aqui?
Posso usar git push, pull, fetch e clone?
git clone https://… não alcança a internet. Crie um repositório bare em uma subpasta (git init --bare remote.git), adicione-o como origin e faça push, fetch, pull e clone a partir dele - os branches de rastreamento remoto aparecem no grafo como apareceriam com o GitHub.Meu trabalho persiste entre execuções?
Qual a diferença para o terminal Linux online?
Existe um curso que ensine Git do zero?
git init até branches, merges, rebases e remotos com exercícios corrigidos, e cada página de comando da referência de Git tem um botão "Experimente ao vivo" que abre este playground com um exemplo executável.