Por design, a criação de um projeto cria um repositório separado que não é atualizado quando o repositório original é alterado. No entanto, git
facilita bastante a atualização manual.
Você precisa da ajuda de um terceiro repositório (sua cópia local é suficiente). Existem 3 repos:
- "Upstream": o repositório do projeto upstream no Github.
- "Origem": o repositório do seu garfo no Github
- "Local": seu repositório local no seu computador. Eu suponho que você o criou clonando Fork usando
git clone [email protected]:your-username/projectname.git
e que todos estão usando branchmaster
.
Supondo que atualmente "Origem" e "Local" estejam no mesmo estado, e "Upstream" está adiantado em 1 ou mais commits (a mesclagem e quaisquer alterações subseqüentes).
Primeiro adicione o projeto upstream como um Git remoto :
git remote add upstream https://github.com/upstream-username/projectname.git
Em seguida, pull (significando fetch e, em seguida, mesclando automaticamente) as alterações da ramificação master
do controle remoto na ramificação atual ( master
) do repositório local:
git pull upstream master
Agora seu repositório local está em sincronia com upstream
. Finalmente, empurre seu repositório local para o garfo do Github:
git push origin master
Agora tudo está em sincronia.