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.
- Navegue até o projeto
Spoon-Knife
em https://github.com/octocat/Spoon-Knife. - Clique em Criar Fork.
- Selecione um proprietário para o repositório bifurcado.
- 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.
- Como opção, adicione uma descrição da bifurcação.
- 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.
- Clique em Criar bifurcação.
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.
-
No GitHub Enterprise Server, navegue até o seu fork do repositório Spoon-Knife.
-
Acima da lista de arquivos, clique em Código.
-
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 . 1. Abra TerminalTerminalGit Bash. 4. Altere o diretório de trabalho atual para o local em que deseja ter o diretório clonado.
-
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 deYOUR-USERNAME
:$ git clone https://hostname/YOUR-USERNAME/Spoon-Knife
-
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
-
No menu Arquivo, clique em Clonar Repositório.
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!