Pular para o conteúdo
~/.primo-academy.sh
☰ Aulas · Git · 0/23
Recomendado: essencial

GitHub: Fork, Pull Request e Colaboração

1 min de leitura

fonte

Aqui o Git encontra a colaboração de verdade. Um Pull Request (PR) é um pedido: "ei, peguei sua branch, fiz umas mudanças, dá uma olhada e, se gostar, integra". É a forma padrão de propor código - tanto no seu time quanto em projetos open source de estranhos.

Há dois cenários. Se você tem acesso de escrita ao repositório (seu time), o fluxo é direto: cria branch, comita, dá push, abre o PR.

git switch -c fix/corrige-typo
# ...edita, git add, git commit...
git push -u origin fix/corrige-typo
# depois abre o PR pela interface do GitHub (ou: gh pr create)

Se você não tem acesso de escrita (a maioria dos projetos open source), usa o fork: uma cópia do repositório na sua conta. Você clona o seu fork, trabalha nele, e abre o PR do fork para o projeto original. Costuma-se adicionar o original como um segundo remoto chamado upstream para puxar as atualizações:

git remote add upstream git@github.com:projeto-original/repo.git
git fetch upstream
git merge upstream/main        # mantém seu fork em dia com o original

No PR, quem mantém o projeto revisa, comenta, pede ajustes. Você responde com novos commits na mesma branch - eles aparecem no PR automaticamente. Quando está bom, o mantenedor faz o merge.

  • Pull Request = proposta de mudança revisável. O coração da colaboração.
  • Com acesso de escrita: branch → push → PR. Sem acesso: fork → PR.
  • upstream é o remoto do projeto original; use-o para manter seu fork atualizado.
  • PR é conversa. Espere review, responda com novos commits, seja gentil.

Dica: antes de abrir um PR num projeto que não é seu, leia o CONTRIBUTING.md. Cada projeto tem suas regras (padrão de commit, testes, formatação). Seguir o guia é o que separa um PR que é mergeado de um que é ignorado.

Colaborando, uma hora você vai precisar largar o que está fazendo no meio. Para isso existe o stash.

// recursos

// avaliação da trilha

ainda sem avaliações