Learn Git Branching
Os jogos salvos ficam apenas neste navegador.
Sobre o jogo
Learn Git Branching é um quebra-cabeça para aprender Git, a ferramenta de controle de versão que a maioria dos programadores usa. À direita da tela há o desenho de um repositório pequeno, uma árvore de commits e etiquetas de branches. À esquerda fica um terminal. Quando você digita um comando do Git, o desenho anima o que o comando faz: um commit aparece, uma etiqueta de branch desliza para outro lugar, duas linhas de histórico viram uma só. No modo sandbox você experimenta à vontade; nos níveis, uma segunda árvore pequena mostra o objetivo, e você vence quando deixa o seu repositório igual a ela com o menor número de comandos possível.
Os trinta e seis níveis ficam em duas abas. Main começa com commits, branches, merge e rebase, passa por andar pelo histórico com `HEAD` e referências relativas, desfazer mudanças, `cherry-pick`, rebase interativo e tags, e termina com desafios avançados. Remote cobre a parte do Git que mais confunde, com `clone`, `fetch`, `pull`, `push`, branches de rastreamento remoto e o que acontece quando outra pessoa muda o remoto ao mesmo tempo. Cada nível abre com uma lição curta e uma demonstração, e você pode pedir uma dica ou a solução.
Jogando aqui
Clique em Play e abre uma mensagem de boas-vindas, seguida da lista de níveis. Escolha o primeiro se você é iniciante. Cada nível começa com alguns diálogos que explicam a ideia; as setas avançam. Depois o terminal é seu: digite `git commit` e aperte Enter. Use `show goal` para ver a árvore-alvo de novo, `hint` para uma dica, `undo` para desfazer o último comando e `reset` para recomeçar o nível. `sandbox` sai dos níveis e dá um repositório vazio, e `show commands` lista todos os comandos que o jogo entende.
O progresso fica salvo no navegador. O jogo segue o idioma do seu navegador (mais de vinte e cinco, incluindo o português do Brasil), e o botão de idioma no canto inferior direito da tela troca; terminar todos os níveis abre um certificado que você pode copiar ou baixar como imagem.
Controles
| Entrada | Ação |
|---|---|
| Teclado | digitar comandos do Git no terminal e apertar Enter |
| Setas para cima e para baixo | comando anterior e seguinte do histórico |
| Tab | completar um comando |
| levels | abrir a lista de níveis |
| show goal, hide goal | mostrar ou esconder a árvore-alvo |
| hint, show solution | uma dica, ou a solução do nível |
| undo, reset | desfazer o último comando, recomeçar o nível |
| sandbox, show commands | modo livre, a lista de comandos |
| Mouse | arrastar a janela do objetivo, clicar nos botões da barra verde e nas setas dos diálogos |
Algumas coisas que vale saber
Os comandos são de verdade. O terminal não executa o Git; o jogo tem o seu próprio modelo pequeno do Git, então cada comando que você aprende aqui se escreve igual a um terminal de verdade, mas só funcionam os comandos e opções que o jogo lista com `show commands`.
Menos é melhor. Depois de cada nível o jogo diz quantos comandos você usou e quantos a solução dele precisa. Resolver já basta, e o caminho mais curto é uma boa segunda tentativa.
Use os nomes dos commits. Os commits se chamam C0, C1, C2 e assim por diante, e a árvore mostra esses nomes, então os níveis seguintes pedem que você se refira a eles pelo nome.
Sem pressa. Não há cronômetro, e `undo` e `reset` não custam nada.
Créditos e licença
Learn Git Branching foi criado por Peter Cottle, com a ajuda de muitos colaboradores e tradutores, e é distribuído sob a licença MIT. Os ícones da interface são o Font Awesome Free 6, da Fonticons, Inc. (ícones sob Creative Commons Attribution 4.0, fontes sob a SIL Open Font License, código sob MIT) e um Font Awesome mais antigo, de Dave Gandy (Creative Commons Attribution 3.0). "Git" é usado só para nomear a ferramenta que o jogo ensina; o jogo não é afiliado ao projeto Git, e nenhum logotipo do Git é usado. Mudamos o jogo: o rastreamento do Google Analytics, as faixas de divulgação de outros projetos, os botões de compartilhar em redes sociais, o carregador de níveis de gists do GitHub e os links para outros sites foram removidos, de modo que nada é pedido a outros sites. O patch, o script de build e os textos das licenças estão linkados nesta página.