> For the complete documentation index, see [llms.txt](https://docs.flosum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flosum.com/devops/devops-pt-br/solicitacoes-de-pull/processo-de-solicitacao-de-pull/resolvendo-conflitos-da-solicitacao-de-pull.md).

# Resolvendo conflitos da solicitação de pull

{% hint style="warning" %}

#### Escrito para a interface antiga

Este artigo foi escrito para a interface antiga. As instruções ainda podem ser usadas, mas as capturas de tela estão desatualizadas. Em alguns casos, os itens referenciados nas instruções foram movidos ou alterados. Se você não conseguir encontrar um item, consulte o [Para onde foi](/devops/devops-pt-br/transicao-para-a-nova-ui-ux/para-onde-foi.md) artigo.
{% endhint %}

## ![](https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FG5ZbxX918xOHwbAwAJ4n%2FSummary2-Small-Icon.svg?alt=media\&token=da26a67f-ff7f-47b3-8669-06be960dc2d7) 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.

<div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F3eIOztucBaSOKuGON5bV%2FPull%20Request%20Conflict%20-%20Figure%201.png?alt=media&amp;token=6e11e440-bc32-4289-86b2-e757c420a2e0" alt="" width="563"><figcaption></figcaption></figure></div>

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\_a**Quando 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.

<details>

<summary>Manter alterações do destino</summary>

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 [#retain-target-changes-1](#retain-target-changes-1 "mention") seção abaixo.

{% hint style="info" %}
Este método usa a **Resolver conflitos** função em um Pull Request para fazer commit automaticamente das alterações no branch de origem.
{% endhint %}

<figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FfdBOyMKCsalcBawvM7ED%2FPull%20Request%20Conflict%20-%20Figure%202.png?alt=media&amp;token=6e3f9324-daa3-468b-9e27-8c0376830794" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Sobrescrever alterações do destino</summary>

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 [#overwrite-target-changes-1](#overwrite-target-changes-1 "mention") seção abaixo.

{% hint style="info" %}
Este método exige que você faça commit manualmente das alterações do **branch de origem** no **branch de destino** branch.
{% endhint %}

<figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FVaZecNF0HTB21tlT1oKW%2FPull%20Request%20Conflict%20-%20Figure%203.png?alt=media&amp;token=1c8af0e0-97e7-46dd-a428-1f4b66e1e341" alt=""><figcaption></figcaption></figure>

</details>

## Resolvendo conflitos

{% stepper %}
{% step %}

### 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.

<div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FK9JALbdKadbvEFqPe00z%2FResolvingPullRequestConflicts-S01-01.png?alt=media&amp;token=4973d672-8444-46fe-8e35-150acd351ba8" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Revisar conflitos

1. Clique em **Resolver conflitos**.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F8pYu7mdbTdXEXva8Zf23%2FResolvingPullRequestConflicts-S02-01.png?alt=media&amp;token=a13bbbd4-870d-4895-b5d7-17598f9f799b" alt="" width="563"><figcaption></figcaption></figure></div>
2. Clique em um componente para visualizar os conflitos.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2Fhd7mmwFjgbQRTVwIIkud%2FResolvingPullRequestConflicts-S02-02.png?alt=media&amp;token=c2864009-da37-4116-b9fa-4b2ffbbb46f1" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Todos os componentes precisam ser revisados e resolvidos.
{% endhint %}

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

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FJOCmqXNWisObvgSQHKGr%2FResolvingPullRequestConflicts-S02-03.png?alt=media&amp;token=9b9f9a30-b3e2-40ea-948c-5dccc2b3fd54" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Veja a [#what-causes-a-pull-request-conflict](#what-causes-a-pull-request-conflict "mention") seção acima para uma explicação sobre conflitos de Pull Request.
{% endhint %}

4. 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.

{% hint style="info" %}
Para múltiplos conflitos, trate cada um separadamente usando o método mais apropriado; tudo bem usar abordagens diferentes para conflitos diferentes.
{% endhint %}
{% endstep %}

{% step %}

### 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.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FnhVr1raQZTvAcw9WOc0C%2FResolvingPullRequestConflicts-S03-01.png?alt=media&amp;token=5b31efc1-49e1-440a-bc96-6b814a4b2486" alt="" width="563"><figcaption></figcaption></figure></div>
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.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FBg7oBwXUrHGZ38xWlH0q%2FResolvingPullRequestConflicts-S03-02.png?alt=media&amp;token=9daa3a07-3fab-4016-b589-231f4b0e2143" alt="" width="563"><figcaption></figcaption></figure></div>
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**.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FaOEtG2UOuvfX4mfiHKPf%2FResolvingPullRequestConflicts-S03-03.png?alt=media&amp;token=d831374c-a137-4036-a4c3-ff853431d6e4" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Repita esse processo para todos os componentes com conflitos.
{% endhint %}

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

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FSmVZ0MxD4NguSwB7dtNl%2FResolvingPullRequestConflicts-S03-04.png?alt=media&amp;token=40f79012-9e17-4f74-b4aa-f8eeef229c93" alt="" width="563"><figcaption></figcaption></figure></div>
6. Insira uma **mensagem de commit**.
7. Clique em **Resolver**.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FaOXu8XK1s9ePPohbfp9D%2FResolvingPullRequestConflicts-S03-05.png?alt=media&amp;token=4ae6eb1f-e6b8-4bc9-81d1-00a5e20eb8d8" alt="" width="375"><figcaption></figcaption></figure></div>
8. Depois de resolver os conflitos, o Pull Request verificará novamente se há conflitos.
9. Se não houver mais conflitos, a mensagem do Pull Request ficará verde e exibirá "Este branch pode ser mesclado".

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F4DbE815qPh7WKEA1uXtk%2FResolvingPullRequestConflicts-S03-06.png?alt=media&amp;token=99b78d90-5278-478b-8182-3c5ab325a9eb" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Se os conflitos persistirem no Pull Request, revise-os e resolva-os. Repita até que todos os problemas sejam resolvidos.
{% endhint %}
{% endstep %}

{% step %}

### Sobrescrever alterações do destino

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

{% hint style="info" %}
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.
{% endhint %}

1. Clique em **Código** no menu da barra lateral esquerda.
2. Clique no **branch de destino** branch do Pull Request.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FVdGI0XqpcphJPuoqXMfn%2FResolvingPullRequestConflicts-S04-01.png?alt=media&amp;token=30f3e50f-f1aa-41fa-b814-9c109f8342b7" alt="" width="563"><figcaption></figcaption></figure></div>
3. Clique no **Três pontos verticais** na extremidade direita de um componente com conflitos no Pull Request.
4. Clique em **Editar**.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F5g5ClKMeHBcegHcwiUOW%2FResolvingPullRequestConflicts-S04-02.png?alt=media&amp;token=c2446acd-0011-498a-aa3a-f5277d191ed5" alt="" width="563"><figcaption></figcaption></figure></div>
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**.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FwzKDv4loReHxkn6mJTem%2FResolvingPullRequestConflicts-S04-04.png?alt=media&amp;token=3e5c1d17-4228-478e-95e1-5823bd154d67" alt="" width="563"><figcaption></figcaption></figure></div>
7. Insira uma **mensagem de commit**.
8. Clique em **Fazer commit**.

   <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2Fs8v4c5oagdYwOQ7cMc86%2FResolvingPullRequestConflicts-S04-05.png?alt=media&amp;token=bb1bd0af-51f9-42e6-abf0-1ffb2ee13dbc" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Repita esse processo para todos os componentes com conflitos.
{% endhint %}

9. Depois que todos os componentes com conflitos forem editados para corresponder ao **branch de origem** branch, volte para o Pull Request.
10. Clique em **Solicitações de pull** no menu da barra lateral esquerda.
11. Clique no Pull Request para verificar se todos os conflitos foram resolvidos.

    <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2Fp64mN9HFNBOa33H6VsOs%2FResolvingPullRequestConflicts-S04-06.png?alt=media&amp;token=3866aa56-1b59-49de-b255-a48b7fb68f1a" alt="" width="563"><figcaption></figcaption></figure></div>
12. Se não houver mais conflitos, a mensagem do Pull Request ficará verde e exibirá "Este branch pode ser mesclado".

    <div align="left"><figure><img src="https://2465342021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FPLcM3AH2yPcm2RXGsPDY%2FResolvingPullRequestConflicts-S04-07.png?alt=media&amp;token=857898d0-5d1b-4374-b540-6a7729b44b23" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Se os conflitos persistirem no Pull Request, revise-os e resolva-os. Repita até que todos os problemas sejam resolvidos.
{% endhint %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flosum.com/devops/devops-pt-br/solicitacoes-de-pull/processo-de-solicitacao-de-pull/resolvendo-conflitos-da-solicitacao-de-pull.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
