For the complete documentation index, see llms.txt. This page is also available as Markdown.

Resolvendo conflitos da solicitação de pull

Escrito para a interface antiga

Visão geral

Este artigo explica os motivos por trás dos conflitos de Pull Request e os cenários comuns em que eles ocorrem. Ele também fornece instruções detalhadas, passo a passo, para revisar e resolver esses conflitos de forma eficaz.

O que causa um conflito de Pull Request?

Um conflito de Pull Request pode ocorrer quando dois branches têm commits que afetam a mesma linha de código, e o Pull Request não consegue determinar automaticamente qual linha deve ser preservada. Para ilustrar como isso pode acontecer, veja o diagrama abaixo.

Neste exemplo, branch_b é criado a partir de branch_a. Em seguida, uma alteração que afeta a myName função é commitada em branch_b, e uma alteração diferente na função é commitada em branch_aQuando um Pull Request é criado para mesclar branch_b em branch_a, o pull request detecta que a mesma linha de código foi alterada em ambos os branches, resultando em um conflito. Na seção a seguir, você verá duas opções diferentes para resolver o conflito.

Como resolver um conflito de Pull Request?

Quando um Pull Request encontra um conflito, você pode resolvê-lo mantendo ou sobrescrevendo as alterações do destino. Para múltiplos conflitos, trate cada um separadamente usando o método mais apropriado; tudo bem usar abordagens diferentes para conflitos diferentes.

Manter alterações do destino

Para resolver conflitos usando este método, faça commit das linhas conflitantes do branch de destino no branch de origem Veja o diagrama para uma ilustração e consulte as instruções passo a passo fornecidas na Resolvendo conflitos da solicitação de pull seção abaixo.

Este método usa a Resolver conflitos função em um Pull Request para fazer commit automaticamente das alterações no branch de origem.

Sobrescrever alterações do destino

Para resolver conflitos usando este método, faça commit das linhas conflitantes do branch de origem no branch de destino Veja o diagrama para uma ilustração e consulte as instruções passo a passo fornecidas na Resolvendo conflitos da solicitação de pull seção abaixo.

Este método exige que você faça commit manualmente das alterações do branch de origem no branch de destino branch.

Resolvendo conflitos

1

Conflitos de Pull Request

Quando um Pull Request é criado, uma verificação de conflitos é executada inicialmente. Se forem encontrados conflitos entre os Destino e Origem branches, um aviso será exibido, e você deverá resolver os conflitos antes que o Pull Request possa ser mesclado.

2

Revisar conflitos

  1. Clique em Resolver conflitos.

  2. Clique em um componente para visualizar os conflitos.

  1. Revise o código em conflito no componente e determine como resolver o conflito.

Veja a Resolvendo conflitos da solicitação de pull seção acima para uma explicação sobre conflitos de Pull Request.

  1. Há duas maneiras de resolver um conflito de Pull Request. Veja as seções a seguir para instruções sobre como realizar cada uma.

    1. Manter alterações do destino: Este método mantém o código do destino fazendo commit das linhas conflitantes do branch de destino no branch de origem branch.

    2. Sobrescrever alterações do destino: Este método mantém o código da origem fazendo commit das linhas conflitantes do branch de origem branch para o branch de destino branch.

Para múltiplos conflitos, trate cada um separadamente usando o método mais apropriado; tudo bem usar abordagens diferentes para conflitos diferentes.

3

Manter alterações do destino

Este método usa a Resolver conflitos recurso integrado a um Pull Request.

  1. Clique em um componente com conflitos para resolver.

  2. Clique em Aceitar tudo para manter todas as linhas, ou clique na Direita Seta para cada linha a ser mantida. Isso copia a linha selecionada do branch de destino para o branch de origem.

  3. Depois que todas as alterações necessárias tiverem sido feitas no branch de origem, clique em Resolver. Isso marca um componente como Resolvido para que você possa acompanhar suas alterações.

  4. Clique em Voltar.

Repita esse processo para todos os componentes com conflitos.

  1. Depois que todos os componentes forem marcados como Resolvido, clique em Resolver conflitos.

  2. Insira uma mensagem de commit.

  3. Clique em Resolver.

  4. Depois de resolver os conflitos, o Pull Request verificará novamente se há conflitos.

  5. Se não houver mais conflitos, a mensagem do Pull Request ficará verde e exibirá "Este branch pode ser mesclado".

Se os conflitos persistirem no Pull Request, revise-os e resolva-os. Repita até que todos os problemas sejam resolvidos.

4

Sobrescrever alterações do destino

Este método exige editar manualmente e fazer commit das alterações no branch de destino.

Para facilitar a resolução de conflitos ao sobrescrever alterações no branch de destino, anote as linhas e os componentes específicos que estão causando conflitos enquanto você revisa o Pull Request.

  1. Clique em Código no menu da barra lateral esquerda.

  2. Clique no branch de destino branch do Pull Request.

  3. Clique no Três pontos verticais na extremidade direita de um componente com conflitos no Pull Request.

  4. Clique em Editar.

  5. Edite a linha ou linhas de código em conflito para corresponder ao branch de origem branch.

  6. Clique em Fazer commit das alterações.

  7. Insira uma mensagem de commit.

  8. Clique em Fazer commit.

Repita esse processo para todos os componentes com conflitos.

  1. Depois que todos os componentes com conflitos forem editados para corresponder ao branch de origem branch, volte para o Pull Request.

  2. Clique em Solicitações de pull no menu da barra lateral esquerda.

  3. Clique no Pull Request para verificar se todos os conflitos foram resolvidos.

  4. Se não houver mais conflitos, a mensagem do Pull Request ficará verde e exibirá "Este branch pode ser mesclado".

Se os conflitos persistirem no Pull Request, revise-os e resolva-os. Repita até que todos os problemas sejam resolvidos.

Atualizado

Isto foi útil?