Skip to main content

Contribuindo com um projeto

Aprenda a contribuir para um projeto por meio da bifurcação.

Quem pode usar esse recurso?

Os membros de uma empresa com usuários gerenciados não podem criar fork de repositórios externos ou internos da empresa.

Contribuir para um projeto em GitHub é uma habilidade essencial para desenvolvedores e colaboradores que trabalham juntos para alcançar objetivos em comum. Quer você esteja corrigindo bugs, adicionando recursos ou aprimorando a documentação, o processo de contribuição garante a colaboração estruturada e eficiente.

Ao seguir o GitHub fluxo de fazer fork de repositórios, criar ramificações e enviar pull requests, você pode propor alterações a um projeto e obter retorno sem interromper o trabalho de outras pessoas.

Este guia fornece instruções sobre como contribuir para um projeto usando a interface do usuário do GitHub e a linha de comando. Para obter mais informações sobre como contribuir com GitHub Desktop, consulte Clonar e realizar fork de repositórios com o GitHub Desktop. Para obter o mesmo com GitHub CLI (Interface de Linha de Comando), consulte Início rápido da CLI GitHub.

Sobre a bifurcação

Se você quiser contribuir com o projeto de outra pessoa, mas não tiver permissão para fazer alterações diretamente, poderá criar sua cópia do projeto, fazer atualizações e sugerir essas atualizações para inclusão no projeto principal. Este processo é frequentemente chamado de fluxo de trabalho "fork e pull request".

Quando você cria sua cópia (ou "fork") de um projeto, é como criar um workspace que compartilha código com o projeto original. Isso é útil para projetos de código aberto ou quando você não tem permissão de escrita no projeto original.

Depois de fazer alterações em sua cópia, você pode enviá-las como uma pull request, que é uma maneira de propor alterações de volta ao projeto principal. Para saber mais, confira Criar fork de um repositório.

Criando sua cópia de um projeto

Este tutorial usa o projeto Spoon-Knife, um repositório de teste hospedado em GitHub, que permite testar o fluxo de trabalho de fork e pull request.

  1. Navegue até o projeto Spoon-Knife em https://github.com/octocat/Spoon-Knife.

  2. No canto superior direito da página, clique em Fork.

    Captura de tela da página principal de um repositório. Um botão, rotulado com um ícone de fork e "Fork 59.3k", está contornado em laranja escuro.

  3. Em "Proprietário", selecione o menu suspenso e clique em um proprietário do repositório com fork.

    Observação

    Se o nome de usuário estiver esmaecido, o fork já existe. Em vez disso, você deve atualizar o fork existente. Para saber mais, confira Sincronizar um fork.

  4. Por padrão, os forks são nomeados da mesma forma que os repositórios upstream. Opcionalmente, para destacar ainda mais seu fork, no campo "Nome do repositório", digite um nome.

  5. Opcionalmente, no campo "Descrição", digite uma descrição do fork.

  6. Se desejar, selecione Copiar somente o branch PADRÃO.

    Em muitos cenários de bifurcação, como contribuir para projetos de código aberto, você só precisa copiar o ramo padrão. Se você não selecionar essa opção, todos os branches serão copiados para o novo fork.

  7. Clique em Criar bifurcação.

Observação

Se você quiser copiar branches adicionais do repositório upstream, poderá fazê-lo na página Branches. Para saber mais, confira Gerenciando branches em seu repositório.

Clonando um fork para o seu computador

Você criou com êxito um fork do repositório Spoon-Knife, mas, até agora, ele só existe em GitHub. Para poder trabalhar no projeto, você deverá cloná-lo para o seu computador.

Você pode clonar seu fork pela linha de comando, GitHub CLI ou GitHub Desktop.

  1. No GitHub, navegue até seu fork do repositório Spoon-Knife.

  2. Acima da lista de arquivos, clique em Code.

    Captura de tela da lista de arquivos na página de aterrissagem de um repositório. O botão "Código" está realçado com um contorno laranja escuro.

  3. Copie a URL do repositório.

    • Para clonar o repositório usando HTTPS, em "HTTPS", clique em .

    • Para clonar o repositório usando uma chave SSH, incluindo um certificado emitido pela autoridade de certificação SSH da sua organização, clique em SSH e em .

    • Para clonar um repositório usando a GitHub CLI, clique em GitHub CLI e em .

      Captura de tela do menu suspenso "Código". À direita da URL HTTPS do repositório, um ícone de cópia está contornado em laranja escuro.

  4. No Mac ou Linux, abra o Terminal. No Windows, abra o Git Bash.

  5. Altere o diretório de trabalho atual para o local em que deseja ter o diretório clonado.

  6. Escreva git clonee, em seguida, cole o URL que copiou anteriormente. Ele terá esta aparência, com seu GitHub nome de usuário em vez de YOUR-USERNAME:

    git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    
  7. Pressione Enter. Seu clone local será criado.

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.
    

Como criar um branch de trabalho

Antes de fazer alterações no projeto, você deve criar uma nova ramificação e alternar para ela. Ao manter as alterações em sua própria ramificação, você segue o fluxo de GitHub e garante que será mais fácil contribuir para o mesmo projeto novamente no futuro. Confira fluxo de GitHub.

git branch BRANCH-NAME
git checkout BRANCH-NAME

Fazendo e enviando por push as alterações

Vá em frente e faça algumas alterações no projeto usando seu editor de texto favorito, como Visual Studio Code. Você pode, por exemplo, alterar o texto index.html para adicionar seu GitHub nome de usuário.

Quando estiver pronto para enviar suas alterações, teste e faça commit das suas alterações. git add . informa o Git de que você deseja incluir todas as alterações no próximo commit. git commit cria um instantâneo dessas alterações.

git add .
git commit -m "a short description of the change"

Ao preparar e confirmar arquivos, você essencialmente diz ao Git: "Tire um snapshot das minhas alterações". Você pode continuar fazendo mais alterações e tirando mais snapshots de commit.

No momento, suas alterações existem apenas localmente. Quando estiver pronto para enviar suas alterações por push para GitHubcima, envie suas alterações por push para o remoto.

git push

Fazendo um pull request

Criar uma pull request é a última etapa para produzir um fork do projeto de outra pessoa. Quando você faz uma alteração benéfica e deseja propor isso ao repositório original, você cria um pull request para um mantenedor revisar.

Para fazer isso, vá até o repositório em GitHub, onde seu projeto está. Neste exemplo, ele estará em https://github.com/<your_username>/Spoon-Knife. Você verá um banner indicando que seu branch está um commit à frente de octocat:main. Clique em Contribuir e em Abrir uma solicitação de pull.

GitHub levará você a uma página que mostra as diferenças entre seu fork e o repositório octocat/Spoon-Knife. Clique em Criar solicitação de pull.

GitHub o levará a uma página em que você pode inserir um título e uma descrição de suas alterações. É importante fornecer o máximo de informações úteis e uma justificativa para por que você está fazendo este pull request em primeiro lugar. O proprietário do projeto deve poder determinar se a sua alteração é tão útil para todos quanto você pensa. Por fim, clique em Criar solicitação de pull.

Familiarizando-se com um projeto

Se você for novo em um projeto, poderá usar Copilot para ajudá-lo a entender a finalidade do repositório, examinar arquivos e aprofundar-se em linhas de código específicas. Consulte Usando GitHub Copilot para explorar projetos.