Concluir, abandonar ou reverter solicitações pull

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Depois que todos os revisores necessários aprovarem sua solicitação pull (PR) e a RP atender a todos os requisitos da política de ramificação, você poderá mesclar suas alterações na ramificação de destino e concluir a RP. 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

  • Os repositórios devem estar habilitados em seu projeto. Se o hub Repos e as páginas associadas não forem exibidos, consulte Ativar ou desativar um serviço de DevOps do Azure para reativar Repos.

  • Para concluir seu PR, você deve ser um membro do grupo de segurança Colaboradores , ou ter as permissões correspondentes, no projeto em que o PR está.

  • Para contribuir para uma RP, tem de ser membro do grupo de segurança Leitores ou ter as permissões correspondentes.

  • Para exibir ou revisar RPs, você deve ter acesso Básico ou superior ao projeto DevOps do Azure.

  • Se você não é um membro do projeto para o qual deseja contribuir, seja adicionado.

    Nota

    Para projetos públicos, os usuários com acesso de Partes Interessadas têm acesso total aos Repositórios do Azure.

  • Os repositórios devem estar habilitados em seu projeto. Se o hub Repos e as páginas associadas não forem exibidos, consulte Ativar ou desativar um serviço de DevOps do Azure para reativar Repos.
  • Para concluir uma RP, você deve ser membro do grupo de segurança Colaboradores ou ter as permissões correspondentes no projeto que deseja alterar.
  • Para contribuir para uma RP, tem de ser membro do grupo de segurança Leitores ou ter as permissões correspondentes.
  • Para exibir ou revisar RPs, você deve ser membro do projeto DevOps do Azure com acesso Básico ou superior. Se você não for um membro do projeto, seja adicionado.
  • 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 RPs usam az repos pr.

Verificar alterações de mesclagem

Quando você conclui um PR, o Git adiciona uma nova confirmação de mesclagem ao final da ramificação principal. Essa confirmação de mesclagem vincula os históricos anteriores da ramificação principal e da ramificação de origem de RP. Para ver a confirmação de mesclagem de visualização e verificar se há conflitos de mesclagem, selecione o menu Mais opções no canto superior direito de uma página Visão geral de RP e, em seguida, selecione Exibir alterações de mesclagem.

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.

Rever as políticas das sucursais

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 seu PR, se elas são necessárias para mesclagem e se o PR está passando ou falhando.

A guia Visão Geral de RP resume as políticas de ramificação que estão passando ou falhando 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.

Concluir um pull request

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

  1. Selecione Concluir no canto superior direito para concluir a RP. 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: retorne o PR ao status de rascunho e remova todos os votos.
    • Abandonar: Feche o PR sem mesclar as alterações.
  2. No painel Concluir solicitação pull, 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 preserva todas as confirmaçõ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 avanço rápido: Rebaseie a fonte confirma no destino e avance.
    • Mesclagem semilinear: a fonte de rebase se confirma no destino e cria uma mesclagem de dois pais.

    Nota

    As políticas existentes são aplicadas. Por exemplo, se a sua ramificação tiver atualmente uma política de "somente mesclagem de squash", você precisará 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 mesclagem: exclua a ramificação de origem do 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. Essa opção só estará disponível se você tiver a permissão Isentar da aplicação da política.
  4. Selecione Concluir mesclagem.

  1. Selecione Concluir no canto superior direito para concluir a RP. 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 mesclar 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. Essa opção só estará disponível se você tiver permissões de isenção de imposiçã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 a rebase durante a conclusão do PR não é possível:

  • Se uma política na ramificação de destino proibir o uso de estratégias de rebaseamento, você precisará 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 da política.
  • Se você usou a Extensão de Conflito de Mesclagem para resolver conflitos de mesclagem, não poderá rebasear. 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 várias intercalaçõ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 Pull tiverem versões diferentes entre as bases de intercalação, ocorrerá um aviso de bases de intercalação múltiplas. Para obter mais informações e correção, consulte Várias bases de mesclagem.

Resolver conflitos de intercalação

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 Definir preenchimento automático na lista suspensa Concluído para concluir e mesclar as alterações de RP assim que as condições satisfizerem todas as políticas de ramificação. 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 Definir preenchimento automático está disponível no Azure Repos e no TFS 2017 e superior quando você tem políticas de filial. Se não vir Definir preenchimento automático, não tem políticas de ramificação. 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, você também pode 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 Visão geral de RP 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 como preenchimento automático exibe um selo de preenchimento automático na página Solicitações pull.

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

Abandonar ou reativar uma solicitação pull

Para abandonar as alterações e a RP sem mesclar, 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 uma RP abandonada a qualquer momento, abra a RP na guia Abandonado na visualização 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. Na tela Nova solicitação pull, selecione Criar.

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

Nota

A ramificação criada durante essa reversão tem uma única confirmação 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