Header Ads

Como bifurcar adequadamente um repositório Github

A programação de código aberto significa ser capaz de fazer suas próprias alterações no código que outros escreveram. Para fazer isso, você deve ramificar a partir do repositório principal, comumente chamado de “ bifurcação ” o repositório, mas pode ser complicado se você não o fizer corretamente.

Embora isso se aplique especificamente ao Github, já que é de longe o maior lugar para colaboração de código aberto, os mesmos princípios serão válidos para repositórios Git bifurcados de qualquer fonte. O Github simplesmente tem ferramentas extras que tornam algumas tarefas mais fáceis, mas se você preferir comandos do Git, nós os mostraremos também.

Bifurcação do Github

Se você estiver usando o Github, o método mais fácil de bifurcar um repositório é clicar no botão “ Fork ” botão, que criará automaticamente um novo repositório em sua conta e configurará os controles remotos quando você o clonar. Isso também fará com que apareça nos “ garfos ” do repositório de origem e será exibido em seu repositório como “ bifurcado do X. ”

Se você não quiser que isso apareça ou não estiver usando o Github, precisará clonar manualmente.

Se você estiver clonando você mesmo, certifique-se de clonar o repositório corretamente em vez de fazer o “ Baixar ZIP. ” Se você não cloná-lo por meio do Git, ele não copiará o histórico da versão e não será configurado como um repositório Git.

Configurando o controle remoto upstream do fork

Se você fez o fork do repositório do site do Github, o controle remoto de origem apontará para o seu fork. No entanto, também é útil poder extrair do repositório de origem original, chamado de “ upstream. ” Se eles fizerem alterações, você provavelmente desejará mesclar ou realocar com o controle remoto upstream.

Publicidade

O Github tem ferramentas integradas para fazer isso automaticamente, então você não precisa fazer esta parte, mas se quiser usar as ferramentas CLI, precisará adicionar novamente o repositório original como um remoto chamado “ upstream “:

 git remote add upstream https://github. com/author/original. git

Bifurcação do Git CLI

Se você baixou ou clonou de outro lugar, seu repositório ainda estará vinculado ao controle remoto de onde você o clonou. Isso é provavelmente o que aconteceu se você baixou um repositório antes de pretendê-lo. Felizmente, isso está perfeitamente bem e você simplesmente precisará configurá-lo sozinho.

Se desejar integrar novas alterações da fonte, você ainda desejará o controle remoto da fonte, mas não deve ser a “ origem ” padrão controlo remoto. Portanto, você deseja renomear o controle remoto padrão de “ origin ” para “ upstream. ”

 git remoto renomear origem upstream 

Em seguida, adicione seu próprio controle remoto como a nova “ origem, ” que você provavelmente precisará fazer manualmente se planeja empurrá-lo de volta para o Github:

 git remote add origin https://github. com/author/ForkName

Depois de fazer isso, você provavelmente precisará definir o controle remoto padrão para cada branch de seu fork:

 branch git --set-upstream-to origin 

Publicidade

E envie para a origem, o que fará o upload dos arquivos para o seu novo repositório.

Atualizando com novas alterações

Se você bifurcou no Github, um dos recursos interessantes é que ele mantém o controle do código-fonte do upstream e permite que você execute mesclagens através do site do Github. Ele mostrará quando estiver atualizado e, quando não estiver, você terá a opção de mesclar.

Se você quiser fazer isso por meio da CLI do Git, existe uma maneira melhor. Rebasing é semelhante à mesclagem, mas mantém uma hierarquia de commits simples e não leva a commits de mesclagem desnecessários. Na maioria das vezes, você desejará rebase ao integrar as alterações do upstream, mas isso é com você. A fusão também é uma estratégia válida, especialmente se você não faz a fusão com muita frequência.

Para integrar as alterações, você precisará buscar o remoto upstream, fazer check-out do branch master e fazer o rebase para upstream / master.

 git fetch upstream git checkout master git rebase upstream / master 

Depois disso, pode ser necessário forçar o push se esta for a primeira vez que realiza o rebase:

 git push -f origin master 

Fazendo solicitações pull

Se você fez o bifurcação no Github, também é fácil. Você pode simplesmente pressionar “ Contribuir ” e abrirá automaticamente uma solicitação pull.

Publicidade

Caso contrário, o processo ainda é simples. Vá para o repositório upstream e em “ Solicitações de pull ” guia, selecione “ Nova solicitação pull. ”

Em seguida, você precisará selecionar “ comparar entre garfos ” e encontre seu repositório de bifurcação. Selecione os branches que deseja mesclar e clique em “ Criar solicitação pull. ”

Você pode continuar trabalhando em sua bifurcação e mesclando em solicitações pull conforme necessário. Se você está fazendo muito isso, pode considerar configurar seus próprios branches localmente para seus recursos e, em seguida, fundir no branch upstream de destino quando quiser fazer um PR. Isso pode ajudar a manter os RPs focados em um tópico de cada vez.

Nenhum comentário