Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Sincronizar uma bifurcação

Sincronize uma bifurcação de um repositório para mantê-la atualizada com o repositório upstream.

People with write access for a forked repository can sync the fork to the upstream repository.

Sincronizando uma bifurcação a partir da interface de usuário da web

  1. Em GitHub, acesse a página principal do repositório bifurcado que você deseja sincronizar com o repositório upstream.
  2. Selecione o menu suspenso Buscar a upstream. Menu suspenso "Buscar upstream"
  3. Revise as informações sobre os commits do repositório upstream e, em seguida, clique em Buscar e merge. Botão "Buscar e fazer merge"

Se as alterações do repositório a upstream gerarem conflitos, GitHub solicitará a criação de um pull request para resolver os conflitos.

Sincronizando uma bifurcação com GitHub CLI

GitHub CLI é uma ferramenta de código aberto para usar GitHub a partir da linha de comando do seu 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, consulte "Sobre GitHub CLI."

Para atualizar a bifurcação remota a partir da bifurcação principal, use o subcomando repo gh sync e forneça o nome da sua bifurcação como argumento.

$ gh repo sync owner/cli-fork

Se as alterações do repositório upstream causarem conflitos, o GitHub CLI não poderá sincronizar. Você pode definir o sinalizador -force para substituir o branch de destino.

Sincronizando uma bifurcação a partir da linha de comando

Antes de poder sincronizar a sua bifurcação com um repositório upstream, é necessário configurar um controle remoto que aponte para o repositório upstream no Git.

  1. Abra TerminalTerminalGit Bash.

  2. Altere o diretório de trabalho atual referente ao seu projeto local.

  3. Obtenha os branches e os respectivos commits do repositório upstream. Os commits para BRANCHNAME serão armazenados no branch local upstream/BRANCHNAME.

    $ git fetch upstream
    > remote: Counting objects: 75, done.
    > remote: Compactação de objetos: 100% (53/53), concluída.
    > 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
  4. Faça o checkout do branch padrão local da sua bifurcação - neste caso, nós usamos o principal.

    $ git checkout main
    > Switched to branch 'main'
  5. Faça merge das alterações do branch padrão upstream - nesse caso, upstream/main - no seu 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
    If your local branch didn't have any unique commits, Git will instead perform a "fast-forward":
    $ git merge upstream/main
    > Updating 34e91da..16c56ad
    > Fast-forward
    >  README.md                 |    5 +++--
    >  1 file changed, 3 insertions(+), 2 deletions(-)

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