Concluir, abandonar ou reverter solicitações de pull

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Depois que todos os revisores necessários aprovarem sua PR (solicitação de pull) e a PR atender a todos os requisitos de política de ramificação, você poderá mesclar suas alterações na ramificação de destino e concluir a PR. Ou, se você decidir não prosseguir com as alterações na PR, é possível abandonar a PR.

Para abordar as alterações dos revisores, responder e resolver comentários de revisão, consulte Comentários de endereço.

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 do Azure DevOps para reabilitar os repositórios.

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

  • Para contribuir com uma PR, você deve ser membro do grupo de segurança Leitores ou ter as permissões correspondentes.

  • Para exibir ou examinar PRs, você deve ter um acessoBásico ou superior ao projeto do Azure DevOps.

  • Se você não for membro do projeto para o qual deseja contribuir, será adicionado.

    Observação

    Para projetos públicos, os usuários que receberam acesso de Stakeholder têm acesso total a Azure Repos.

  • 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 do Azure DevOps para reabilitar os repositórios.
  • Para criar e concluir uma PR, você deve ser membro do grupo de segurança Colaboradores ou ter as permissões correspondentes no projeto que quiser alterar.
  • Para contribuir com uma PR, você deve ser membro do grupo de segurança Leitores ou ter as permissões correspondentes.
  • Para exibir ou examinar PRs, você deve ser membro do projeto do Azure DevOps com acesso Básico ou superior. Se você não for um membro do projeto, será adicionado.

Verificar alterações de mesclagem

Quando você conclui uma 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 PR. Para ver a confirmação de mesclagem de visualização e marcar os conflitos de mesclagem, selecione o menu Mais opções no canto superior direito em uma página Visão geral de PR e, em seguida, selecione Exibir alterações de mesclagem.

Se você alterou a ramificação de destino depois de criar a PR, selecione Reiniciar mesclagem para criar uma nova confirmação de mesclagem de visualização e atualizar a exibiçã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.

Examinar políticas de ramificação

O Teams pode definir políticas de ramificação que exigem PRs em ramificações protegidas para atender a critérios específicos antes que as PRs possam ser mescladas. Você pode ver as políticas de ramificação em vigor para sua PR, se elas são necessárias para mesclagem e se a PR está passando ou falhando.

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

Na página Visão Geral de PR, os requisitos de política de ramificação têm um ícone . Selecione Mais opções ao lado do requisito e selecione Exibir política para ir à página Políticas de Ramificação da ramificação nas Configurações do Projeto.

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

Concluir uma solicitação de pull

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

  1. Selecione Concluir no canto superior direito para concluir a 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 de botão Concluir para o P R.

    • Concluir: conclua a PR agora e mescle as alterações à ramificação de destino.
    • Definir o preenchimento automático: configure a PR para concluir e mesclar depois de atender a todas as políticas de ramificação necessárias.
    • Marcar como rascunho: retorne o PR ao status do projeto e remova todos os votos.
    • Abandonar: feche a PR sem mesclar as alterações.
  2. No painel Concluir solicitação de pull, em Tipo de mesclagem, selecione uma das opções de mesclagem.

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

    • Mesclar (sem avanço rápido): mesclar com um histórico não linear que preserva todas as confirmações.
    • Confirmação de squash: mesclar com um histórico linear que combina todas as confirmações de origem em uma única confirmação no destino ou mescla o PR. Lembre-se de que um novo commit será criado para a ramificação de destino sem manter o histórico de confirmação da ramificação de origem.
    • Basear novamente e avançar rapidamente: basear novamente os commits de origem no destino e avançar rapidamente.
    • Mesclagem semilinear: a origem de trocar base confirma-se no destino e cria uma mesclagem de dois pais.

    Observação

    As políticas existentes são impostas. Por exemplo, se a ramificação tiver atualmente uma política de "somente mesclagem combinação por squash", você precisará alterar essa política se quiser usar outro tipo de mesclagem.

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

    • Conclua os itens de trabalho associados após a mesclagem: conclua todos os itens de trabalho vinculados.
    • Excluir <o nome da ramificação> após a mesclagem: exclua a ramificação de origem da PR após a mesclagem.
    • Personalizar a 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. Force a mesclagem mesmo se a PR não atender a todas as políticas de ramificação. Essa opção só estará disponível se você tiver a permissão isenta de imposição de política.
  4. Selecione Concluir mesclagem.

  1. Selecione Concluir no canto superior direito para concluir a 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 de botão Concluir para o P R.

    • Concluir: conclua a PR agora e mescle as alterações à ramificação de destino.
    • Definir o preenchimento automático: configure a PR para concluir e mesclar depois de atender a todas as políticas de ramificação necessárias.
    • Abandonar: feche a PR sem mesclar as alterações.
  2. Na tela Concluir solicitação de pull , insira a mensagem para o commit de mesclagem e atualize a descrição de PR.

    Caixa de diálogo Concluir solicitação de pull

  3. Selecione uma das seguintes opções:

    • Conclua os itens de trabalho associados após a mesclagem: conclua todos os itens de trabalho vinculados.

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

    • O squash muda ao mesclarpara mesclagem squash em sua PR. Lembre-se de que um novo commit será criado 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 se 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íticas.

      Observação

      As políticas existentes ainda são impostas. Por exemplo, se a ramificação tiver uma política de "somente mesclagem de squash" em vigor, você precisará editar essa política para usar os outros tipos de mesclagem.

  4. Selecione Concluir mesclagem.

Quando você concluir a mesclagem, todos ositens de trabalho vinculados são atualizados automaticamente para mostrar a conclusão da PR.

Captura de tela de itens de trabalho vinculados mostrando PRs concluídos.

Trocar base durante a conclusão de PR

Há algumas situações em que a troca de base durante a conclusão da PR não é possível:

  • Se uma política na de destino proibir o uso de estratégias de troca de base, você precisará da permissão substituir políticas de ramificação para trocar base novamente.
  • Se a ramificação de origem de PR tiver políticas, você não poderá trocar a base dele. A troca de base 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 será possível trocar a base novamente. As resoluções de conflito aplicadas a uma mesclagem de três vias raramente são bem-sucedidas ou válidas ao trocar a base de todas as confirmações de PR individualmente.

Em todos esses casos, você ainda pode trocar a base de sua ramificação localmente e, em seguida, efetuar push upstream ou mesclar suas alterações ao concluir a PR.

Problema de base de mesclagem múltipla

Em alguns casos, uma PR tem mais de uma base de mesclagem verdadeira e essa situação pode causar problemas de segurança. Se os arquivos na PR tiverem versões diferentes entre as bases de mesclagem, um aviso base de mesclagem múltipla será exibido. Para obter mais informações e correção, consulte Várias bases de mesclagem.

Resolver conflitos de mesclagem

As alterações de arquivo em sua ramificação podem entrar em conflito com as 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 da PR. Você deve resolver quaisquer conflitos de mesclagem entre a ramificação de PR e a ramificação de destino antes de mesclar uma PR ou definir a PR 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 de pull para preenchimento automático

Selecione Definir preenchimento automático na lista suspensa Concluir para concluir e mesclar as alterações de PR assim que as condições atenderem a todas as políticas de ramificação. Quando a PR for concluída, você receberá uma notificação por email. Se um conflito ou erro impedir a conclusão da PR, o email notificará você sobre o problema.

Observação

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 ramificação. Se você não vir Definir preenchimento automático, não terá nenhuma política de ramificação. Para saber mais, confira Definir políticas de ramificação.

Por padrão, uma PR definida como preenchimento automático aguarda apenas as políticas necessárias. No painel Habilitar preenchimento automático, você também pode optar por aguardar políticas opcionais.

Captura de tela que mostra a alteração de uma política opcional a ser necessária no painel Habilitar preenchimento automático.

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

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

Captura de tela de uma PR no estado de preenchimento automático.

Captura de tela de uma PR no estado de preenchimento automático.

Um conjunto de PR para preenchimento automático exibe um selo de preenchimento automático na página Solicitações de pull.

Captura de tela mostrando uma PR de preenchimento automático na lista de PR.

Abandonar ou reativar uma solicitação de pull

Para abandonar suas alterações e sua PR sem mesclagem, selecione Abandonar na lista suspensa no botão Concluir. Você ainda pode exibir a PR abandonada e ela permanece vinculada a itens de trabalho.

Para reativar uma PR abandonada a qualquer momento, abra a PR na guia Abandonado no modo de exibição Solicitação de Pull e selecione Reativar no canto superior direito.

Reverter uma solicitação de pull concluída

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

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

  2. No painel Reverter solicitação de pull:

    1. Em Ramificação de destino, selecione a ramificação em que você deseja desfazer as alterações de PR.
    2. Em Nome da ramificação do tópico necessário, altere o reverter nome da ramificação de PR, se desejar.
    3. Selecione Reverter.
  3. Na tela Nova solicitação de pull, selecione Criar.

  4. Mescle a nova PR para concluir o reverter.

Observação

A ramificação criado durante essa reversão tem uma única confirmação que reverte todas as alterações de arquivo da PR original. A ramificação não contém uma confirmação revertida para cada um das confirmações na PR original.

Próximas etapas