Como atualizar um repositório bifurcado do GitHub com alterações no repositório remoto upstream
Instruções da Ajuda do GitHub:
Configurando um garfo remoto
Sincronizando um garfo
Instruções de configuração / operação:
Abra o Git Bash (Windows) ou o terminal Linux / Mac
Se você ainda não clonou seu repositório, deve-se mudar para o diretório ativo da sua pasta de desenvolvimento e cloná-lo na sua estação de trabalho.
$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git
Mude para o diretório de trabalho do seu repositório bifurcado em sua estação de trabalho.
$ cd /user/development/my_forked_repo/
Liste o repositório remoto configurado atualmente para o seu fork.
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
Especifique um novo repositório upstream remoto que será sincronizado com o fork.
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
Verifique o novo repositório upstream que você especificou para o seu fork.
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
Busque as ramificações e suas respectivas confirmações no repositório upstream. As confirmações para mestre serão armazenadas em uma filial local, a montante / mestre.
$ git fetch upstream
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
* [new branch] master -> upstream/master
Confira a filial principal local do seu garfo.
$ git checkout master
Switched to branch 'master'
Mesclar as alterações do upstream / master em sua filial principal local. Isso sincroniza a ramificação principal do seu fork com o repositório upstream, sem perder as alterações locais.
$ git merge upstream/master
Updating a422352..5fdff0f
Fast-forward
README | 9 -------
README.md | 7 ++++++
2 files changed, 7 insertions(+), 9 deletions(-)
delete mode 100644 README
create mode 100644 README.md
Se sua filial local não tiver nenhum commit exclusivo, o Git executará um "avanço rápido":
$ git merge upstream/master
Updating 34e91da..16c56ad
Fast-forward
README.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Agora você precisará enviar os commit para o seu fork.
$ git push
Se você ainda não está autenticado, ele solicitará seu nome de usuário / senha do github. Uma vez autenticados, os novos commits devem ser enviados para o fork e visíveis no github.