Skip to main content

Contribuir para projetos

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

Sobre a bifurcação

Depois de usar o GitHub por um tempo, você deverá contribuir para o projeto de outra pessoa. Ou talvez você deva usar o projeto de alguém como ponto de partida para o seu próprio projeto. Este processo é conhecido como bifurcação.

A criação de uma "bifurcação" produz uma cópia pessoal do projeto de outra pessoa. As bifurcações atuam como um tipo de ponte entre o repositório original e a sua cópia pessoal. Você pode enviar pull requests para ajudar a melhorar os projetos de outras pessoas oferecendo suas alterações até o projeto original. A bifurcação é um elemento essencial do código social no GitHub. Para obter mais informações, confira "Criar um fork de um repositório".

Bifurcar um repositório

Este tutorial usa o projeto Spoon-Knife, um repositório de teste hospedado no GitHub.com que permite testar o fluxo de trabalho da solicitação de pull e do fork.

  1. Navegue até o projeto Spoon-Knife em https://github.com/octocat/Spoon-Knife.
  2. Clique em Criar Fork. Botão Criar Fork
  3. Selecione um proprietário para o repositório bifurcado. Criar uma página de bifurcação com a lista suspensa do proprietário enfatizada
  4. Por padrão, as bifurcações são nomeadas da mesma forma que os respectivos repositórios pai. Você pode alterar o nome da bifurcação para distingui-la ainda mais. Criar uma página de bifurcação com o campo do nome do repositório enfatizado
  5. Como opção, adicione uma descrição da bifurcação. Criar uma página de bifurcação com o campo de descrição enfatizado
  6. Escolha se deseja copiar apenas o branch padrão ou todos os branches para a nova bifurcação. Para muitos cenários de bifurcação, como contribuir para projetos de código aberto, você só precisa copiar o branch padrão. Por padrão, somente o branch padrão é copiado. Opção para copiar apenas o branch padrão
  7. Clique em Criar bifurcação. Botão Criar bifurcação enfatizado

Observação: se você quiser copiar branches adicionais do repositório pai, poderá fazê-lo na página Branches. Para obter mais informações, confira "Como criar e excluir branches no seu repositório".

Clonando uma bifurcação

Você criou com sucesso o repositório Spoon-Knife mas, até agora, ele existe apenas em GitHub Enterprise Server. Para poder trabalhar no projeto, você deverá cloná-lo para o seu computador.

Você pode clonar a sua bifurcação com a linha de comando, GitHub CLI ou GitHub Desktop.

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

  2. Acima da lista de arquivos, clique em Código. Botão "Código"

  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 GitHub CLI, clique em GitHub CLI e selecione . O ícone da área de transferência para copiar a URL para clonar um repositório com o CLI do GitHub 1. Abra TerminalTerminalGit Bash. 4. Altere o diretório de trabalho atual para o local em que deseja ter o diretório clonado.
  4. Digite git clone e cole a URL já copiada. Ela terá esta aparência, com seu nome de usuário do GitHub Enterprise Server em vez de YOUR-USERNAME:

    $ git clone https://hostname/YOUR-USERNAME/Spoon-Knife
  5. Pressione Enter. Seu clone local estará criado.

    $ git clone https://hostname/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.

Para saber mais sobre a GitHub CLI, confira "Sobre a GitHub CLI".

Para criar um clone do fork, use o sinalizador --clone.

gh repo fork repository --clone=true
  1. No menu Arquivo, clique em Clonar Repositório.

    Opção de menu Clone (Clonar) no app Mac

    Opção de menu Clone (Clonar) no app Windows

    1. Clique na aba que corresponde à localização do repositório que você deseja clonar. Clique também na **URL** para inserir o local do repositório manualmente.

    Guias Location (Local) no menu Clone a repository (Clonar um repositório)

    Guias Location (Local) no menu Clone a repository (Clonar um repositório)

    1. Escolha o repositório que você quer clonar na lista.

    Clonar uma lista de repositórios

    Clonar uma lista de repositórios

    1. Clique em **Escolher…** e procure um caminho local em que deseja clonar o repositório.

    Botão Choose (Escolher)

    Botão Choose (Escolher)

    1. Clique em **Clonar**.

    Botão Clone (Clonar)

    Botão Clone (Clonar)

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 o Visual Studio Code. Você pode, por exemplo, alterar o texto de index.html para adicionar seu nome de usuário do GitHub.

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"
git add .
git commit -m "a short description of the change"

Para obter mais informações sobre como preparar as alterações e fazer commit delas no GitHub Desktop, confira "Como fazer commit das alterações no seu projeto e revisá-las".

Ao testar e fazer commit dos arquivos, você essencialmente diz ao Git, "Ok, tire um instantâneo das minhas alterações!" Você pode continuar fazendo mais alterações e tirar mais instantâneos do commit.

No momento, suas alterações existem apenas localmente. Quando estiver pronto para fazer push das suas alterações para GitHub Enterprise Server, faça push delas para o controle remoto.

git push
git push

Para obter mais informações sobre como efetuar push das alterações no GitHub Desktop, confira "Como efetuar push de alterações para o GitHub".

Fazendo um pull request

Finalmente, você está pronto para propor alterações no projeto principal! Essa é a última etapa para produzir uma bifurcação do projeto de outra pessoa, e a mais importante, indiscutivelmente. Se você fez uma alteração que você considera que beneficiaria a comunidade como um todo, você deve considerar contribuir de novamente.

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

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

GitHub Enterprise Server levará você a uma página onde você pode inserir um título e uma descrição das suas alterações. É importante fornecer tantas informações úteis e uma razão para o motivo de você estar fazendo este pull request. 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.

Gerenciando feedback

Os pull requests são uma área de discussão. Neste caso, o Octocat está muito ocupado e provavelmente não irá fazer merge das suas alterações. Para outros projetos, não se ofenda se o proprietário do projeto rejeitar o seu pull request ou pedir mais informações sobre o porquê de a alteração ter sido feita. Pode até ser que o proprietário do projeto não faça o merge do seu pull request e isso está perfeitamente bem. Sua cópia existirá na infâmia na Internet. E quem sabe - talvez alguém que você nunca conheceu, considere as suas alterações muito mais valiosas do que o projeto original.

Como localizar os projetos

Você fez uma bifurcação com sucesso e contribuiu de volta para um repositório. Vá em frente e contribua um pouco mais!