Precisão das visualizações
Nada no palco é desenhado à mão. Cada visualização é uma lista de comandos do Git que um simulador de Git integrado ao site executa no seu navegador. A saída do terminal é gerada por ele, e cada animação vem do que realmente mudou no repositório. Para manter o simulador honesto, antes de cada versão todo passo é reproduzido no Git real 2.48 e as duas saídas são comparadas linha por linha.
Comandos do Git
| Comando | Saída comparada ao Git real | Status |
|---|---|---|
git add | 67 passos | Verificado |
git commit | 133 passos | Verificado |
git reset | 29 passos | Verificado |
git branch | 69 passos | Verificado |
git checkout | 58 passos | Verificado |
git merge | 39 passos | Verificado |
git rebase | 48 passos | Verificado |
git cherry-pick | 48 passos | Verificado |
git stash | 50 passos | Verificado |
git fetch | 26 passos | Verificado |
git pull | 80 passos | Verificado |
git push | 89 passos | Verificado |
git log | 24 passos | Verificado |
git status | 23 passos | Verificado |
git diff | 22 passos | Verificado |
git restore | 18 passos | Verificado |
git rm | 11 passos | Verificado |
git mv | 3 passos | Verificado |
git clean | 22 passos | Verificado |
git switch | 24 passos | Verificado |
git tag | 18 passos | Verificado |
git revert | 16 passos | Verificado |
git show | 10 passos | Verificado |
git reflog | 8 passos | Verificado |
git init | 9 passos | Verificado |
git clone | 14 passos | Verificado |
git config | 13 passos | Verificado |
git remote | 8 passos | Verificado |
git blame | 12 passos | Verificado |
git annotate | 3 passos | Verificado |
git grep | 20 passos | Verificado |
git describe | 15 passos | Verificado |
git shortlog | 13 passos | Verificado |
git show-branch | 4 passos | Verificado |
git whatchanged | 3 passos | Verificado |
git version | 3 passos | Verificado |
git help | 6 passos | Verificado |
git notes | 18 passos | Verificado |
git bisect | 25 passos | Verificado |
git worktree | 12 passos | Verificado |
git sparse-checkout | 17 passos | Verificado |
git archive | 13 passos | Verificado |
git bundle | 10 passos | Verificado |
git format-patch | 10 passos | Verificado |
git am | 5 passos | Verificado |
git range-diff | 4 passos | Verificado |
git merge-tree | 4 passos | Verificado |
git rerere | 9 passos | Verificado |
git fsck | 10 passos | Verificado |
git fast-export | 7 passos | Verificado |
Explicado, não animado (22)
O simulador não consegue mostrá-los com honestidade (ferramentas gráficas, programas externos, armazenamento interno, assinaturas, comandos mais novos que o Git 2.48), então a página deles os explica. Não há animação para comparar com o Git real.
Cenários do mundo real
| Cenário | Saída comparada ao Git real | Status |
|---|---|---|
| Seu primeiro commit no Git | 10 passos | Verificado |
| Clonar um repositório | 8 passos | Verificado |
| Desfazer o último commit | 13 passos | Verificado |
| Fluxo com branches de funcionalidade | 14 passos | Verificado |
| Resolvendo um conflito de merge | 10 passos | Verificado |
| Hotfix de uma versão em produção | 12 passos | Verificado |
| Rebase de um PR no main mais recente | 11 passos | Verificado |
| Histórico limpo antes do merge | 10 passos | Verificado |
| Recuperar trabalho perdido | 10 passos | Verificado |
| Reverter um merge ruim | 9 passos | Verificado |
| Correção urgente no meio de uma funcionalidade | 12 passos | Verificado |
| Criar tags e entregar versões | 9 passos | Verificado |
| Dividir um commit para revisão | 8 passos | Verificado |
| Limpar branches mescladas | 11 passos | Verificado |
| Clones rasos em CI | 6 passos | Verificado |
Como isso é verificado?
Saída do terminal
Um teste reproduz cada lição em um repositório Git real 2.48 com os mesmos arquivos e datas e compara a saída de cada comando, o código de saída e o conteúdo do editor com o que o site mostra. Só os detalhes específicos da máquina são normalizados (hashes, caminhos, velocidade de transferência).
Animações
Os nós, os rótulos de branch, o HEAD, as três áreas de arquivos e o remoto são desenhados a partir do estado do repositório após cada comando — então a imagem só pode mostrar o que o simulador realmente fez (e isso é verificado com o Git real). Cada lição também confere seus fatos principais (branch, árvore limpa, conflitos, assunto do commit) no build.
Verificado em todo build
Uma lição que viola qualquer uma destas regras interrompe o build:
- Todo comando é executado; passos que devem falhar realmente falham
- As expectativas da lição se confirmam (branch, árvore limpa, conflitos, commit do HEAD)
- Nenhuma saída, hash ou posição escritos à mão
- Todo passo mostra algo (uma saída ou uma mudança visível)
- As lições de opções realmente usam a sua opção
- Os selos de recomendação batem com a documentação da opção
- O mesmo repositório inicial em todas as páginas
- Uma ideia por passo, explicada em uma frase completa
Limitações: algumas opções dependem de coisas fora do repositório (seu editor, permissões de arquivos, repositórios aninhados, finais de linha, sparse checkout). Elas são explicadas com um cartão “Como funciona” em vez de uma animação. Viu algo diferente do seu Git? Relate.