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.

Syncing a fork branch from the web UI

  1. Em GitHub Enterprise Cloud, 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.

Syncing a fork branch with the 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."

To update the remote fork from its parent, use the gh repo sync -b BRANCHNAME subcommand and supply your fork and branch name as arguments.

$ gh repo sync owner/cli-fork -b BRANCHNAME

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.

Syncing a fork branch from the command line

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 perform a fast-forward. For more information, see Basic Branching and Merging in the Git documentation.

    $ git merge upstream/main
    > Updating 34e91da..16c56ad
    > Fast-forward
    >  README.md                 |    5 +++--
    >  1 file changed, 3 insertions(+), 2 deletions(-)

    If your local branch had unique commits, you may need to resolve conflicts. Para obter mais informações, consulte "Solucionar conflitos de merge."

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.