Partilhar via


Concluir, abandonar ou reverter pull requests

Serviços de DevOps do Azure | Azure DevOps Server 2022 | Azure DevOps Server 2020

Visual Studio 2019 | Visual Studio 2022

Depois de todos os revisores necessários aprovarem o seu pedido de pull (PR) e o PR cumprir todos os requisitos da política de ramificação, poderá fundir as suas alterações na ramificação de destino e concluir o PR. Ou se decidir não avançar com as alterações no PR, pode abandonar o PR.

Para abordar as alterações dos revisores, responder e resolver comentários de avaliações, consulte Endereçar comentários.

Pré-requisitos

Categoria Requerimentos
Acesso ao projeto Membro de um projeto .
Permissões - Ver código em projetos privados: Acesso pelo menos Básico.
- Clone ou contribua para o código em projetos privados: Membro do grupo de segurança Contributors ou permissões correspondentes no projeto.
- Definir permissões de ramo ou repositório: Gerir permissões para o ramo ou repositório.
- Alterar ramificação padrão: Editar políticas e permissões para o repositório.
- Importar um repositório: Membro do grupo de segurança Administradores de Projeto ou com permissão de Criar repositório ao nível do projeto Git definida como Permitir. Para obter mais informações, consulte Definir permissões do repositório Git.
Serviços Repos ativado.
Ferramentas Opcional. Utilize os comandos az repos: Azure DevOps CLI.

Nota

Em projetos públicos, os usuários com acesso Partes Interessadas têm acesso total aos repositórios do Azure, incluindo visualização, clonagem e contribuição para o código.

Categoria Requerimentos
Acesso ao projeto Membro de um projeto .
Permissões - Visualização de código: Pelo menos acesso básico.
- Clone ou contribua para o código: Membro do grupo de segurança Contributors ou com permissões correspondentes no projeto.
Serviços Repos ativado.

Para obter mais informações sobre permissões e acesso, consulte Permissões padrão de repositório Git e ramificações e Sobre níveis de acesso.

Nos Serviços de DevOps do Azure, você pode gerenciar PRs e outros recursos da interface de linha de comando (CLI) do Azure com a azure-devops extensão. Para saber como trabalhar com a CLI dos Serviços de DevOps do Azure, consulte Introdução à CLI do Azure DevOps. Os comandos da CLI do Azure Repos para Pedidos de Pull Request (PRs) usam az repos pr.

Verificar alterações de fusão

Ao concluir um PR, o Git adiciona um novo commit de merge ao final da ramificação principal. Esse commit de mesclagem liga os históricos anteriores da ramificação principal e da ramificação de origem do PR. Para ver a pré-visualização da confirmação de fusão e verificar a existência de conflitos de fusão, selecione o menu Mais opções no canto superior direito de uma página de Visão Geral de RP e, em seguida, selecione Ver alterações de fusão.

Se você alterou a ramificação de destino depois de criar a RP, selecione Reiniciar mesclagem para criar uma nova confirmação de mesclagem de visualização e atualizar a visualização de comparação de alteração de mesclagem.

Captura de tela que mostra as opções Exibir mesclagem e Reiniciar mesclagem no menu Mais opções do P R.

Revisar as políticas das filiais

As equipes podem definir políticas de ramificação que exigem que as RPs em ramificações protegidas atendam a critérios específicos antes que as RPs possam se fundir. Você pode ver as políticas de ramificação em vigor para o seu pedido de revisão, se elas são necessárias para junção, e se o pedido de revisão é aprovado ou rejeitado.

A guia Visão Geral de RP resume as políticas de ramificação que estão aprovadas ou reprovadas para a RP. A visão geral lista apenas políticas com falha, mas você pode ver todas as verificações de política selecionando Exibir <n> verificações.

Na página Visão Geral de Relações Públicas, os requisitos da política de ramificação têm um ícone. Selecione Mais opções ao lado do requisito e, em seguida, selecione Exibir política para ir para a página Políticas de ramificação da filial em Configurações do projeto.

Captura de tela que mostra Exibir política ao lado de um requisito de política de ramificação em um P R.

Finalizar um pedido de pull (pull request)

Depois de resolver quaisquer conflitos de fusão, e o PR atender a todas as políticas de ramificação e tiver todas as aprovações necessárias, poderá concluir o PR.

  1. Selecione Concluir no canto superior direito para concluir o PR. Ou selecione a seta suspensa ao lado do botão Concluir e selecione uma das opções.

    Captura de tela que mostra as opções do botão Concluir para o P R.

    • Concluído: conclua o PR agora e mescle as alterações na ramificação de destino.
    • Definir preenchimento automático: configure o PR para concluir e mesclar assim que ele atender a todas as políticas de ramificação necessárias.
    • Marcar como rascunho: retornar o PR ao estado de rascunho e remover todos os votos.
    • Abandonar: Feche o PR sem integrar as alterações.
  2. No painel Concluir pull request, em Tipo de mesclagem, selecione uma das opções de mesclagem.

    Captura de tela que mostra a caixa de diálogo P R completa.

    • Mesclar (sem avanço rápido): Mesclar com um histórico não linear que mantém todas as alterações.
    • Squash commit: mescla com um histórico linear que combina todas as confirmações de origem em uma única confirmação no destino, ou squash mescla o PR. Lembre-se de que uma nova confirmação será criada para a ramificação de destino sem manter o histórico de confirmação da ramificação de origem.
    • Rebase e fast-forward: Rebaseie os commits da fonte no destino e aplique o fast-forward.
    • Mesclagem semi-linear: recoloca os commits da origem sobre o destino e cria uma mesclagem com dois pais.

    Nota

    As políticas existentes são aplicadas. Por exemplo, se o seu ramo tiver atualmente uma política de "somente mesclagem de squash", terá de alterar essa política se quiser usar outro tipo de mesclagem.

  3. Selecione qualquer uma das seguintes opções de pós-conclusão. Algumas opções não estão disponíveis para alguns tipos de mesclagem.

    • Concluir itens de trabalho associados após a mesclagem: conclua todos os itens de trabalho vinculados.
    • Excluir <nome> da ramificação após a fusão: Excluir a ramificação de origem da PR após a fusão.
    • Personalizar mensagem de confirmação de mesclagem: adicione uma mensagem de confirmação de mesclagem personalizada. Se você selecionar essa opção, atualize a mensagem de confirmação de mesclagem.
    • Substitua as políticas de ramificação e habilite a mesclagem. Forçar a mesclagem mesmo que o PR não satisfaça todas as políticas de filiais. Esta opção só estará disponível se tiveres a permissão Isentar da aplicação da política.
  4. Selecione Concluir mesclagem.

  1. Selecione Concluir no canto superior direito para concluir o PR. Ou selecione a seta suspensa ao lado do botão Concluir e selecione uma das seguintes opções:

    Captura de tela que mostra as opções do botão Concluir para o PR.

    • Concluído: conclua o PR agora e mescle as alterações na ramificação de destino.
    • Definir preenchimento automático: se você tiver políticas de ramificação, configure a RP para concluir e mesclar assim que atender a todas as políticas de ramificação necessárias.
    • Abandonar: Feche o PR sem integrar as alterações.
  2. Na tela Concluir solicitação pull, insira a mensagem para a confirmação de mesclagem e atualize a descrição de RP.

    Caixa de diálogo de solicitação pull concluída

  3. Selecione uma das seguintes opções:

    • Conclua os itens de trabalho vinculados após a mesclagem para concluir quaisquer itens de trabalho vinculados.

    • Exclua <branch name> após a mesclagem para excluir a ramificação de origem do PR.

    • O squash muda ao fundir-se para o squash fundir o seu PR. Lembre-se de que uma nova confirmação será criada para a ramificação de destino sem manter o histórico de confirmação da ramificação de origem.

    • Substitua as políticas de ramificação e habilite a mesclagem para forçar uma ramificação a mesclar, mesmo que ela não satisfaça todas as políticas de ramificação. Esta opção só estará disponível se tiver permissões de isenção da aplicação de política.

      Nota

      As políticas existentes continuam a ser aplicadas. Por exemplo, se sua filial atualmente tem uma política de "somente mesclagem de squash" em vigor, você precisa editar essa política para usar os outros tipos de mesclagem.

  4. Selecione Concluir mesclagem.

Quando você conclui a mesclagem, todos os itens de trabalho vinculados são atualizados automaticamente para mostrar a conclusão da RP.

Captura de tela de itens de trabalho vinculados mostrando P Rs concluídos.

Rebase durante a conclusão do PR

Existem algumas situações em que o rebase durante a conclusão do pull request (PR) não é possível.

  • Se uma política na ramificação de destino proibir usar estratégias de rebase, precisas da permissão Substituir políticas de ramificação para rebasear.
  • Se a ramificação de origem de RP tiver políticas, você não poderá rebaseá-la. A rebase modificaria a ramificação de origem sem passar pelo processo de aprovação de políticas.
  • Se usou a Extensão de Conflito de Mesclagem para resolver conflitos de mesclagem, não poderá fazer um rebase. As resoluções de conflitos aplicadas a uma fusão tripartida raramente são bem-sucedidas ou válidas quando se rebaseia todos os compromissos de RP individualmente.

Em todos esses casos, você ainda pode rebasear sua filial localmente e, em seguida, empurrar para cima ou mesclar suas alterações quando concluir o PR.

Problema de base de múltiplas fusões

Em alguns casos, um PR tem mais de uma base de mesclagem verdadeira, e essa situação pode causar problemas de segurança. Se os ficheiros no pedido de pull tiverem versões diferentes entre as bases de intercalação, será emitido um aviso de múltiplas bases de intercalação. Para obter mais informações e correção, consulte Várias bases de fusões.

Resolver conflitos de mesclagem

As alterações de arquivo em sua ramificação podem entrar em conflito com alterações em outra ramificação. Quando não está claro como mesclar alterações, o Git mostra os arquivos que entram em conflito na página Visão geral do PR. Você deve resolver quaisquer conflitos de mesclagem entre a ramificação de RP e a ramificação de destino antes de poder mesclar uma RP ou definir a RP para preenchimento automático. Para obter instruções sobre como resolver conflitos de mesclagem, consulte Resolver conflitos de mesclagem.

Captura de tela que mostra conflitos de mesclagem na guia Visão geral de um P R.

Definir uma solicitação pull para preenchimento automático

Selecione Configurar preenchimento automático da lista suspensa Completar para concluir e mesclar as alterações do PR assim que as condições satisfizerem todas as políticas de ramo. Quando o PR estiver concluído, você receberá uma notificação por e-mail. Se um conflito ou erro impedir a conclusão do PR, o e-mail notificará você sobre o problema.

Nota

A opção Configurar conclusão automática está disponível no Azure Repos e no TFS 2017 e posteriores quando existem políticas de ramificação. Se não vir Definir preenchimento automático, não tem quaisquer políticas de branches. Para obter mais informações, consulte Políticas de filial.

Por padrão, uma RP definida para preenchimento automático aguarda apenas as políticas necessárias. No painel Ativar conclusão automática, pode também optar por aguardar políticas opcionais.

Captura de ecrã que mostra a alteração de uma política opcional para obrigatória no painel Ativar conclusão automática.

A partir da Atualização 2 do TFS 2018, a página de PR Visão geral exibe a lista de critérios de política pendentes que o PR está esperando. Se você definir uma política como necessária no painel Habilitar conclusão automática, poderá defini-la novamente como opcional na página Visão geral .

Selecione Cancelar preenchimento automático para desativar o preenchimento automático.

Captura de ecrã de um PR em estado de preenchimento automático.

Captura de ecrã de um PR em estado de preenchimento automático.

Um PR definido para preenchimento automático exibe um badge Preenchimento automático na página de solicitações de pull.

Captura de ecrã a mostrar um PR de preenchimento automático na lista de PRs.

Abandonar ou reativar uma solicitação pull

Para abandonar as suas alterações e a sua RP sem juntar, selecione Abandonar na lista suspensa no botão Concluir. Você ainda pode visualizar o PR abandonado e ele permanece vinculado a itens de trabalho.

Para reativar um PR abandonado a qualquer momento, abra o PR no separador Abandonado na visualização de Pull Request e selecione Reativar no canto superior direito.

Reverter uma solicitação pull concluída

Para desfazer as alterações de um PR, siga estas etapas. Para obter mais informações, consulte Desfazer alterações.

  1. Abra o PR concluído e selecione Reverter. Essa ação cria uma nova ramificação com alterações que desfazem a RP em uma ramificação de destino existente em seu repositório.

  2. No painel Reverter solicitação pull:

    1. Em Ramificação de destino, selecione a ramificação onde deseja desfazer as alterações de RP.
    2. Em Nome da ramificação do tópico necessário, altere o nome da ramificação de RP revertida, se desejar.
    3. Selecione Reverter.
  3. No ecrã Novo pedido de pull, selecione Criar.

  4. Mescle o novo PR para concluir a reversão.

Nota

A ramificação criada durante esta reversão tem um único commit que reverte todas as alterações de arquivo do PR original. A ramificação não contém uma confirmação revertida para cada uma das confirmações no PR original.

Próximos passos