Sobre merges de pull request
Em uma pull request, você propõe que as alterações feitas em um branch head sejam mescladas em um branch base. Por padrão, qualquer pull request pode sofrer merge a qualquer momento, a menos que o branch head esteja em conflito com o branch base. No entanto, pode haver restrições sobre quando você puder fazer merge de um pull request em um branch específico. Por exemplo, você só pode fazer merge de um pull request no branch-padrão se as verificações de status necessárias forem aprovadas. Para obter mais informações, consulte "Sobre branches protegidos".
Se a pull request apresenta conflitos de merges ou se você deseja testar as alterações antes de fazer merge, é possível fazer checkout da pull request localmente e fazer merge usando a linha de comando.
Você não pode realizar o merge de um rascunho de um pull request. Para obter mais informações sobre pull requests em rascunho, consulte "Sobre pull requests".
É possível excluir branches head automaticamente após o merge de pull requests no repositório. Para obter mais informações, consulte "Gerenciar a exclusão automática de branches".
Se decidir que não quer que as alterações em um branch de tópico sofram merge no branch upstream, é possível fechar a pull request sem fazer merge.
Fazer merge de uma pull request no GitHub
-
No nome do repositório, clique em Pull requests.
-
Na lista "Pull Requests", clique na pull request da qual deseja fazer merge.
-
Dependendo das opções de merge habilitadas em seu repositório, é possível:
- Fazer merge de todos os commits no branch de base ao clicar em Merge pull request (Fazer merge de pull request). Se a opção Merge pull request (Fazer merge da pull request) não está visível, clique no menu suspenso merge e selecione Create a merge commit (Criar um commit de merge).
- Combinar por squash os commits em um único commit ao clicar no menu suspenso merge, selecionar Squash and merge (Combinar por squash e fazer merge) e clicar no botão Squash and merge (Combinar por squash e fazer merge).
- Fazer rebase dos commits individualmente no branch de base ao clicar no menu suspenso merge, selecionar Rebase and merge (Fazer rebase e merge) e clicar no botão Rebase and merge (Fazer rebase e merge).
Observação: rebase e merge sempre atualização as informações do committer e criarão SHAs de commit novos. Para obter mais informações, consulte "Sobre merges de pull request".
-
Se solicitado, digite uma mensagem do commit ou aceite a mensagem padrão.
Para obter informações sobre as mensagens de commit padrão, para combinação por squash, consulte "Sobre merges de pull request".
Observação: O seletor de e-mail não está disponível para merge de rebase, que não cria um commit de merge, ou para merge de combinação por squash, que credita o usuário que criou a pull request como o autor do commit cuja combinação foi feita por squash.
- Clique em Confirm merge (Confirmar merge), Confirm squash and merge (Confirmar combinação por squash e merge) ou Confirm rebase and merge (Confirmar rebase e merge).
- Opcionalmente, exclua o branch. Assim, a lista de branches do repositório ficará limpa.
O repositório pode ser configurado para que o branch principal de um pull request seja excluído automaticamente quando você faz o merge de um pull request. Para obter mais informações, consulte "Gerenciar a exclusão automática de branches".
As pull requests sofrem merge com a opção--no-ff
, exceto pelas
pull requests com commits com combinação por squash ou com rebase/<2>, que passam por merge com a opção fast-forward.
You can link a pull request to an issue to automatically close the issue when someone merges the pull request. For more information, see "Linking a pull request to an issue."
Leia mais
- "Reverter uma pull request"
- "Sincronizar seu branch" usando o GitHub Desktop
- "Sobre merges de pull request"
- "Solucionar conflitos de merge"