Sincronizar um branch de fork usando a interface do usuário da Web
-
Em GitHub, acesse a página principal do repositório bifurcado que você deseja sincronizar com o repositório upstream.
-
Acima da lista de arquivos, selecione o menu suspenso Sincronizar fork.
-
Revise os detalhes sobre os commits do repositório upstream e clique em Atualizar branch.
Se as alterações do repositório a upstream gerarem conflitos, GitHub solicitará a criação de um pull request para resolver os conflitos.
Sincronizar um branch de fork com a GitHub CLI
A GitHub CLI é uma ferramenta de código aberto para uso do GitHub na linha de comando do computador. Quando você está trabalhando na linha de comando, você pode usar GitHub CLI para economizar tempo e evitar mudar o contexto. Para saber mais sobre GitHub CLI, confira "Sobre o a CLI do GitHub".
Para atualizar o fork remoto por meio do próprio pai, use o subcomando gh repo sync -b BRANCH-NAME
e forneça o nome do fork como argumento.
gh repo sync owner/cli-fork -b BRANCH-NAME
Se as alterações do repositório upstream causarem conflito, a s GitHub CLI não poderá sincronizá-las. Defina o sinalizador --force
para substituir o branch de destino.
Sincronizar um branch de fork usando a linha de comando
Para sincronizar o fork com um repositório upstream, você precisa configurar um controle remoto que aponte para o repositório upstream no Git. Para obter mais informações, confira "Configurar um repositório remoto para um fork".
-
Abra TerminalTerminalGit Bash.
-
Altere o diretório de trabalho atual para seu projeto local.
-
Obtenha os branches e os respectivos commits do repositório upstream. Os commits em
BRANCH-NAME
serão armazenados no branchupstream/BRANCH-NAME
local.$ 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] main -> upstream/main
-
Faça check-out do branch padrão local do fork, neste caso, usamos o
main
.$ git checkout main > Switched to branch 'main'
-
Mescle as alterações do branch padrão upstream, neste caso,
upstream/main
, no branch padrão local. Isso coloca o branch padrão da bifurcação em sincronia com o repositório upstream, sem perder as alterações locais.$ git merge upstream/main > 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 o branch local não tiver commits exclusivos, o Git executará um avanço. Para obter mais informações, confira Conceitos básicos de branch e mesclagem na documentação do Git.
$ git merge upstream/main > Updating 34e91da..16c56ad > Fast-forward > README.md | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-)
Se o branch local tiver commits exclusivos, poderá ser necessário resolver conflitos. Para obter mais informações, confira "Resolvendo conflitos de mesclagem".
Dica: a sincronização do fork atualiza apenas a cópia local do repositório. Para atualizar o fork no GitHub.com, você precisa efetuar push das alterações.