DEV Community

Jhony Walker
Jhony Walker

Posted on

Hacks do Github - Mantendo repositório forkado sincronizado com o original

GitHub fork

O Github é cheio de funcionalidades e o mais utilizado isso vocês já sabem e vamos continuar a série de "hacks" da plataforma que vão otimizar e melhorar sua experiência.

⚠️ Importante: Os prints que serão exibidos para exemplificar podem estar diferentes da interface do seu GitHub, por que sou muito adepto a extensões que melhoram a usabilidade e que ajudam no meu dia a dia. Partindo desse ponto peço que dê uma olhada nesse artigo antes.

Depois que você forka um projeto no Github, você faz as alterações necessárias e envia um Pull Request para o repositório original.

Se você precisa fazer mais alguma alteração no mesmo repositório no futuro, mas já tem outras colaborações no repositório original, como você procede para manter seu repositório atualizado? Copia as alterações manualmente para o seu repositório? Apaga e forka novamente?

O Git é uma ferramenta excepcional e, quando você passa a conhecê-lo mais a fundo, vai ver que não vai precisar fazer mais nada manualmente quando ele é usado no seu projeto. Existe uma forma muito prática de sincronizar os dois repos, e vou mostrá-la agora mesmo!

O seu repositório forkado normalmente é adicionado como origin quando você faz o clone. Para sincronizar com o repositório principal, adicione esse repositório com outro nome (no caso do exemplo, upstream), com o comando abaixo:

git remote add upstream [ENDEREÇO DO REPOSITÓRIO PRINCIPAL]
Enter fullscreen mode Exit fullscreen mode

Substituindo [ENDEREÇO DO REPOSITÓRIO PRINCIPAL] pelo endereço do repositório.

Depois, para sincronizar os repositórios, execute o comando:

git fetch upstream
Enter fullscreen mode Exit fullscreen mode

Finalmente, só dar merge na branch master:

git merge upstream/master
Enter fullscreen mode Exit fullscreen mode

A sincronização do fork só atualiza a cópia local do repositório. Para atualizar a bifurcação no GitHub.com, você precisa fazer push das alterações.

Fontes onde pesquisei esse conteúdo:

Top comments (0)