Pular para o conteúdo

Pratique o primeiro pull request num terminal de faz de conta

Digite os comandos de git do clone ao push, veja a resposta e erre à vontade: nada aqui toca no seu computador nem no GitHub. 8 marcos mostram onde você está.

Terminal de exercício

Você é ana-dev; o projeto original é de maria-lima

Escreva o primeiro comando abaixo e tecle Enter. Sem ideia por onde começar? Use o botão “Mostrar o próximo comando”. Digite ajuda para ver a lista.

Seta para cima repete o comando anterior.

Como praticar git sem medo de estragar nada?

Use um terminal de faz de conta: ele aceita os comandos do primeiro pull request, responde como o Git e deixa você errar e recomeçar quantas vezes quiser. Quando os comandos ficarem familiares, repita no seu computador com o passo a passo.

Como usar o exercício

Você é a Ana (ana-dev), que já fez o fork do projeto receitas, da Maria (maria-lima). Os nomes são inventados para o exercício.

  1. Clonar o seu fork: git clone https://github.com/ana-dev/receitas.git
  2. Entrar na pasta do projeto: cd receitas
  3. Registrar o projeto original como upstream: git remote add upstream https://github.com/maria-lima/receitas.git
  4. Criar uma branch para a mudança: git switch -c corrige-link-quebrado
  5. Fazer a mudança no README.md: editar README.md
  6. Marcar o arquivo com git add: git add README.md
  7. Gravar o commit: git commit -m "docs: corrige o link quebrado do README"
  8. Enviar a branch ao seu fork: git push -u origin corrige-link-quebrado

Os comandos acima são os do passo a passo do primeiro pull request, com os nomes do exercício. Em dúvida, o botão “Mostrar o próximo comando” escreve o seguinte no campo, e você só tecla Enter. O comando editar README.md não existe no Git: ele faz de conta que você abriu o arquivo no editor e salvou a mudança.

Erre de propósito: sete tropeços comuns

A primeira linha de cada erro é a mesma que o passo a passo registra para o Git 2.55.

Erros para provocar no simulador, como provocar e o que o terminal responde
ComandoComo provocarO terminal responde
git pushRode antes de git push -u origin <branch>, logo depois do primeiro commit.fatal: The current branch … has no upstream branch.
git add README.txtDigite o nome do arquivo errado.fatal: pathspec 'README.txt' did not match any files
git switch -c corrige-link-quebradoRode duas vezes seguidas.fatal: a branch named 'corrige-link-quebrado' already exists
git remote add upstream …Rode duas vezes seguidas.error: remote upstream already exists.
git statusRode antes de editar o arquivo.nothing to commit, working tree clean
git diffRode depois do git add.Sem saída: o git diff só mostra o que ainda não foi marcado. Use git diff --staged.
git remote -vRode antes de entrar na pasta com cd.fatal: not a git repository (or any of the parent directories): .git

O conserto de cada um está na tabela de erros que mais travam quem começa.

O que o simulador não faz

  • Não roda Git de verdade: a resposta de sucesso é simplificada e os códigos dos commits são inventados.
  • Não cobre merge, rebase, conflito nem fetch. Para atualizar o fork, siga o guia como manter o fork atualizado; para conflitos, resolver conflito de merge.
  • Não abre o fork nem o pull request, que acontecem no site do GitHub.
  • Usa as respostas do Git em inglês, como no passo a passo, e o estilo de terminal Bash.

O exercício não guarda nada: o que você digita fica só nesta página e some ao recarregar.

Perguntas frequentes

O simulador roda Git de verdade no meu computador?

Não. É um terminal de faz de conta que roda só na página: reconhece os comandos do passo a passo e responde no formato do Git. Nada é instalado, enviado ou gravado no seu computador, e o exercício some quando você recarrega a página.

As respostas do simulador são iguais às do Git?

As mensagens de erro são as reproduzidas no Git 2.55 para o passo a passo. As respostas de sucesso são simplificadas: o push real mostra também a contagem de objetos, e os códigos dos commits aqui são inventados. Se algo divergir no seu Git, vale o que o seu terminal mostrar.

Posso errar de propósito para ver a mensagem de erro?

Pode, e é um bom uso. Rode git push antes do git push -u, tente git add com o nome de um arquivo que não existe ou git switch -c com uma branch que já criou. Cada erro aparece com a mesma primeira linha do passo a passo, e o botão Recomeçar zera o exercício.

O simulador abre o pull request?

Não. O pull request acontece no site do GitHub, depois do push, e o simulador não tem como imitar esse passo. Quando você chega ao último marco, a página leva ao passo que descreve os cliques, tirados da documentação do GitHub.

Preciso de conta no GitHub para usar o simulador?

Não. O exercício usa nomes de exemplo (o fork ana-dev/receitas e o projeto original maria-lima/receitas), inventados só para o exercício e sem ligação com contas reais. Nenhum endereço é acessado. Você só precisa de uma conta quando for fazer o fork e o pull request reais.

Fontes desta página

Abertas em 11/10/2026. As mensagens de erro foram reproduzidas por nós no Git 2.55, no passo a passo.

  • Fork a repository (GitHub Docs)
    A página não mostra data · aberta em · reconferência: confirmada na abertura (11/10/2026) · licença do conteúdo: CC BY 4.0 (conteúdo); MIT (código)
    O que lemos: O que é um fork ("propor mudanças sem afetar o repositório original"), o botão Fork, o comando gh repo fork, clonar o fork, git remote add upstream e git remote -v, e os avisos sobre repositórios privados.
    Como usamos: Texto próprio em português; os fatos e os comandos vêm da página, sem copiar trechos. Link e data em cada uso.
  • Pro Git, 3.1 Ramificação no Git: Branches em Poucas Palavras (git-scm.com)
    A página não mostra data · aberta em · reconferência: confirmada na abertura (11/10/2026) · licença do conteúdo: CC BY-NC-SA 3.0
    O que lemos: Um branch é um ponteiro móvel para um commit; HEAD aponta para o branch em que você está; git branch cria sem trocar; git checkout -b cria e troca; desde o Git 2.23, git switch e git switch -c fazem o mesmo papel.
    Como usamos: Só link e fatos (nomes de comandos). A licença proíbe uso comercial e exige a mesma licença nas adaptações; como este site pode exibir anúncios, nenhum trecho do livro é copiado, traduzido ou adaptado.
  • Pro Git, 5.2 Git Distribuído: Contribuindo com um Projeto (git-scm.com)
    A página não mostra data · aberta em · reconferência: confirmada na abertura (11/10/2026) · licença do conteúdo: CC BY-NC-SA 3.0
    O que lemos: As diretrizes de commit: conferir espaços em branco com git diff --check, um commit por mudança lógica, resumo de cerca de 50 caracteres, linha em branco e explicação por volta de 72 colunas, verbo no imperativo.
    Como usamos: Só link e fatos (git diff --check; limites de 50 e 72 caracteres, tratados aqui como regra prática). Nenhum trecho do livro é copiado ou adaptado, por causa da cláusula NC.
  • Contributing to a project (GitHub Docs)
    A página não mostra data · aberta em · reconferência: confirmada na abertura (11/10/2026) · licença do conteúdo: CC BY 4.0 (conteúdo); MIT (código)
    O que lemos: O caminho fork, clone, branch, alterar, commit, push e pull request, com os comandos git clone, git branch, git checkout, git add, git commit e git push.
    Como usamos: Texto próprio em português; os fatos e os comandos vêm da página, sem copiar trechos. Link e data em cada uso.