# Mesclar uma solicitação de pull

Mesclar solicitações de pull no branch upstream, escolher métodos de mesclagem e atender aos requisitos do repositório, como revisões ou verificações de status.

## Sobre fusões de pull-request

Mesclar uma solicitação de pull quando as alterações propostas estiverem prontas e todos os requisitos do repositório forem atendidos. Você não pode realizar o merge de um rascunho de um pull request.

As regras do repositório ou a proteção de ramificação podem exigir revisões, verificações de status ou uma ramificação atualizada antes de mesclar. Consulte [Sobre branches protegidos](/pt/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches).

Como alternativa às regras de proteção de branch, você pode criar conjuntos de regras. Os conjuntos de regras têm algumas vantagens em relação às regras de proteção de branch, como status e melhor capacidade de descoberta sem a necessidade de acesso de administrador. Você também pode aplicar vários conjuntos de regras ao mesmo tempo. Para saber mais, confira [Sobre os conjuntos de regras](/pt/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets).

Você pode configurar um pull request para fazer merge automaticamente quando todos os requisitos de merge forem atendidos. Para saber mais, confira [Mesclar automaticamente uma pull request](/pt/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request).

Se a ramificação base exigir uma fila de mesclagem, as opções de mesclagem disponíveis serão diferentes das descritas aqui. Consulte [Como mesclar uma pull request com uma fila de mesclagem](/pt/pull-requests/how-tos/merge-and-close-pull-requests/merging-a-pull-request-with-a-merge-queue).

Se a solicitação de pull tiver conflitos de mesclagem ou se você quiser testar as alterações primeiro, [confira a solicitação de pull localmente](/pt/pull-requests/how-tos/review-pull-requests/checking-out-pull-requests-locally).

O repositório pode excluir automaticamente o branch principal após a mesclagem. Consulte [Gerenciar a exclusão automática de branches](/pt/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches).

> \[!NOTE]
> Se você excluir um branch de cabeçalho após o merge do seu pull request, o GitHub irá verificar se há quaisquer solicitações de pull no mesmo repositório que especificam o branch excluído como o branch base. O GitHub atualiza automaticamente quaisquer pull requests, alterando o branch base para o branch base do pull request mesclado.

As solicitações de pull usam [a opção`--no-ff`](https://git-scm.com/docs/git-merge#_fast_forward_merge), exceto solicitações de pull esmagadas ou rebased, que usam a mesclagem de avanço rápido.

Você pode vincular uma solicitação de pull a um problema para mostrar que uma correção está em andamento e fechar automaticamente o problema quando a solicitação de pull é mesclada. Para saber mais, confira [Vinculando uma pull request a um problema](/pt/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue).

Se você não quiser mesclar as alterações, poderá [fechar a solicitação de pull](/pt/pull-requests/how-tos/merge-and-close-pull-requests/closing-a-pull-request).

## Mesclar uma solicitação de pull

<div class="ghd-tool webui">

1. Abaixo do nome do repositório, clique em **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="git-pull-request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Pull requests**.

   ![Captura de tela da página principal de um repositório. Na barra de navegação horizontal, uma guia, rotulada como "Solicitações de pull", é destacada em laranja escuro.](/assets/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)

2. Na lista "Solicitações de Pull", clique na solicitação de pull que você deseja mesclar.

3. Role a página até o final do pull request. Dependendo das opções de mesclagem habilitadas para seu repositório, escolha um método de mesclagem:

   * [Mescle todos os commits na branch base](/pt/pull-requests/reference/pull-request-merges) clicando em **Mesclar pull request**. Se a opção não for mostrada, clique no menu suspenso de mesclagem e selecione **Criar uma confirmação de mesclagem**.

     ![Captura de tela das opções de mesclagem para uma solicitação de pull. A seta usada para expandir o menu suspenso está contornada em laranja escuro.](/assets/images/help/pull_requests/merge-pull-request-options.png)

   * [Combine os commits em um só commit](/pt/pull-requests/reference/pull-request-merges#squash-and-merge-your-commits) clicando no menu suspenso de merge, selecionando **Squash and merge** e, em seguida, clicando em **Squash and merge**.

   * [Rebaseie os commits individualmente na branch base](/pt/pull-requests/reference/pull-request-merges#rebase-and-merge-your-commits) clicando no menu suspenso de mesclagem, selecionando **Rebase e mesclar** e, em seguida, clicando em **Rebase e mesclar**.

   > \[!NOTE]
   > Rebase e mesclagem sempre atualizarão as informações do committer e criarão novos SHAs de commit. Consulte [sobre mesclagens de solicitação de pull](/pt/pull-requests/reference/pull-request-merges#rebase-and-merge-your-commits).

4. Se solicitado, digite uma mensagem de commit ou aceite a mensagem padrão.

   Para obter informações sobre as mensagens de commit padrão para mesclagens squash, confira [Fusão de Pull Requests](/pt/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#merge-message-for-a-squash-merge).

5. Se você tiver mais de um endereço de e-mail associado à sua conta no GitHub, clique no menu suspenso de endereço de e-mail e selecione o endereço de e-mail a ser usado como endereço de e-mail do autor no Git. Apenas endereços de e-mail verificados aparecem neste menu suspenso. Se você habilitou a privacidade do endereço de email, um email sem resposta será o endereço de email do autor de commit padrão. Para obter mais informações sobre a forma exata que o endereço de email sem resposta pode assumir, confira [Configurar o endereço de e-mail do commit](/pt/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address).

![Captura de tela de um pull request do GitHub mostrando um menu suspenso com opções para escolher o endereço de e-mail do autor do commit.
octocat@github.com está selecionado.](/assets/images/help/repository/choose-commit-email-address.png)

> \[!NOTE]
> O seletor de email não está disponível para mesclagens de rebase, que não criam uma confirmação de mesclagem. Para mesclagens por squash, o seletor de e-mail só é exibido se você for o autor do pull request e tiver mais de um endereço de e-mail associado à sua conta.

1. Clique em **Confirmar mesclagem**, **Confirmar squash e mesclagem** ou **Confirmar rebase e mesclagem**.
2. Opcionalmente, [exclua o branch](/pt/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request). Isso mantém a lista de branches no seu repositório organizada.

</div>

<div class="ghd-tool cli">

> \[!NOTE]
> Para saber mais sobre GitHub CLI, confira [Sobre GitHub CLI](/pt/github-cli/github-cli/about-github-cli).

Para mesclar uma solicitação de pull, use o subcomando `gh pr merge`. Substitua `pull-request` pelo número, pela URL ou pelo branch principal do pull request.

```shell
gh pr merge PULL-REQUEST
```

Siga as instruções interativas para realizar o merge. Consulte [Fusão de Pull Requests](/pt/pull-requests/reference/pull-request-merges).

Como alternativa, você pode usar sinalizadores para ignorar as instruções interativas. Por exemplo, esse comando esmaga as confirmações em uma única confirmação com a mensagem de confirmação "my squash commit", mescla a confirmação esmagada no branch base e exclui o branch local e remoto.

```shell
gh pr merge 523 --squash --body "my squash commit" --delete-branch
```

</div>

## Leitura adicional

* [Reverter uma pull request](/pt/pull-requests/how-tos/merge-and-close-pull-requests/reverting-a-pull-request)
* [Sincronizar seu ramo no GitHub Desktop](/pt/desktop/working-with-your-remote-repository-on-github-or-github-enterprise/syncing-your-branch-in-github-desktop) usando GitHub Desktop
* [Fusão de Pull Requests](/pt/pull-requests/reference/pull-request-merges)
* [Mesclar e fechar pull requests](/pt/pull-requests/how-tos/merge-and-close-pull-requests)