Menu
Coddy logo textTech

Git Playground

Escreva, execute e compartilhe trechos de código - sem instalação.

Terminal Git
user$ git init
user$ echo "hello" > app.txt
user$ git add app.txt
user$ git commit -m "Add app.txt"
user$ git checkout -b feature
user$ echo "new feature" >> app.txt
user$ git commit -am "Work on feature"
user$ git checkout main
user$ echo "fix" > fix.txt
user$ git add fix.txt
user$ git commit -m "Hotfix on main"
user$ git merge feature
user$
RepositórioNo branch main
git log --oneline --graph --all

Commits 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.

Crie um repositório e faça seu primeiro commitInicialize um repositório, prepare um arquivo, faça commit e verifique o status.
  1. git init
  2. git config user.name "You"
  3. git config user.email "you@example.com"
  4. echo "# My Project" > README.md
  5. git add README.md
  6. git commit -m "Initial commit"
  7. git status
  8. git log --oneline
Crie um branch e faça o mergeCrie um branch, faça uma alteração, commit e depois faça o merge do branch de volta na main.
  1. git init
  2. echo "hello" > app.txt
  3. git add app.txt
  4. git commit -m "Add app.txt"
  5. git checkout -b feature
  6. echo "new feature" >> app.txt
  7. git commit -am "Work on feature"
  8. git checkout -
  9. git merge feature
  10. git log --oneline --graph
Desfazer o último commitFaça um commit do qual se arrependa e desfaça-o mantendo suas alterações.
  1. git init
  2. echo "v1" > notes.txt
  3. git add notes.txt
  4. git commit -m "Add notes.txt"
  5. echo "v2" >> notes.txt
  6. git commit -am "Oops, wrong message"
  7. git reset --soft HEAD~1
  8. git status
  9. git commit -m "Update notes.txt"
  10. 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 git genuíno no Linux, então mensagens de erro, git log --graph, git status e 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, HEAD e cada ref como rótulo no seu commit, mais os arquivos em stage, modificados, não rastreados e em conflito lidos do git 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 origin e pratique git push, git fetch, git pull e git clone contra ele. O grafo mostra origin/main andando ao lado de main.
  • 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 para main, faça outro commit lá também e então git merge feature para 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~1 e veja o commit desaparecer do grafo enquanto suas mudanças reaparecem como arquivos em stage. Depois teste git revert e compare.
  • Rebase versus merge: construa o mesmo histórico de dois branches duas vezes, termine um com git merge e o outro com git 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 commit e veja o conflito sumir.

FAQ do Git playground

Este Git playground é gratuito?
Sim. O Git playground é gratuito, não exige cadastro nem instalação. Abra a página, digite um comando e pressione Executar.
É Git de verdade ou uma simulação?
Git de verdade. Cada execução roda seu script com o binário 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?
Depois de cada instrução do seu script o sandbox registra os commits do repositório, as refs, o 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?
Sim - é para isso que o grafo existe. Crie branches, faça commits neles, faça merge, rebase, cherry-pick, reset e revert, e veja cada operação mudar o desenho. É uma alternativa prática a um jogo de branches, com Git real por baixo.
Posso usar git push, pull, fetch e clone?
Contra um remoto local, sim. O sandbox não tem acesso à rede, então 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?
Não. Cada execução começa de uma pasta vazia e repete o script inteiro, que é justamente o que torna a linha do tempo possível. Mantenha seus comandos no prompt (Shift+Enter adiciona uma linha) e use Redefinir para voltar ao script inicial.
Qual a diferença para o terminal Linux online?
É o mesmo terminal em sandbox - o Git roda lá também - com um painel de repositório acrescentado. A página do terminal Linux é para comandos e scripts de shell; esta página compõe a sua sessão para que o grafo de commits e o estado da árvore de trabalho sejam capturados após cada linha.
Existe um curso que ensine Git do zero?
Sim. O curso gratuito de Git da Coddy vai do 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.