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 branch, você poderá mesclar suas alterações na branch 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.
- Para obter mais informações sobre permissões e acesso, consulte Permissões padrão de repositório Git e de branch e Sobre níveis de acesso.
- No Azure DevOps Services, você pode gerenciar PRs e outros recursos da CLI (interface de linha de comando) do Azure com a extensão
azure-devops
. Para saber como trabalhar com a CLI do Azure DevOps Services, confira Introdução à CLI do Azure DevOps. Os comandos da CLI do Azure Repos para PRs usam az repos pr.
Verificar alterações de mesclagem
Quando você conclui uma PR, o Git adiciona uma nova confirmação de mesclagem ao final da branch principal. Essa confirmação de mesclagem vincula os históricos anteriores da branch principal e da branch 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 branch 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.
Examinar políticas de branch
O Teams pode definir políticas de branch 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 branch 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 branch 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 branch 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 branch nas Configurações do Projeto.
Concluir uma solicitação de pull
Depois que você resolve quaisquer conflitos de mesclagem e a PR atender a todas as políticas de branch e tiver todas as aprovações necessárias, você poderá concluir a PR.
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.
- Concluir: conclua a PR agora e mescle as alterações à branch de destino.
- Definir o preenchimento automático: configure a PR para concluir e mesclar depois de atender a todas as políticas de branch 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.
No painel Concluir solicitação de pull, em Tipo de mesclagem, selecione uma das opções de mesclagem.
- 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 branch de destino sem manter o histórico de confirmação da branch 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 branch 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.
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 branch> após a mesclagem: exclua a branch 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 branch e habilite a mesclagem. Force a mesclagem mesmo se a PR não atender a todas as políticas de branch. Essa opção só estará disponível se você tiver a permissão isenta de imposição de política.
Selecione Concluir mesclagem.
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:
- Concluir: conclua a PR agora e mescle as alterações à branch de destino.
- Definir o preenchimento automático: configure a PR para concluir e mesclar depois de atender a todas as políticas de branch necessárias.
- Abandonar: feche a PR sem mesclar as alterações.
Na tela Concluir solicitação de pull , insira a mensagem para o commit de mesclagem e atualize a descrição de PR.
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 branch 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 branch de destino sem manter o histórico de confirmação da branch de origem.
Substitua as políticas de branch e habilite a mesclagem para forçar um branch a se mesclar, mesmo que ele não satisfaça todas as políticas de branch. 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 branch tiver uma política de "somente mesclagem de squash" em vigor, você precisará editar essa política para usar os outros tipos de mesclagem.
Selecione Concluir mesclagem.
Quando você concluir a mesclagem, todos ositens de trabalho vinculados são atualizados automaticamente para mostrar a conclusão da PR.
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 branch para trocar base novamente.
- Se a branch de origem de PR tiver políticas, você não poderá trocar a base dele. A troca de base modificaria a branch 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 branch 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 branch podem entrar em conflito com as alterações em outra branch. 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 branch de PR e a branch 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.
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 branch. 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 branch. Se você não vir Definir preenchimento automático, não terá nenhuma política de branch. Para saber mais, confira Definir políticas de branch.
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.
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.
Um conjunto de PR para preenchimento automático exibe um selo de preenchimento automático na página Solicitações de pull.
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.
Abra a PR concluída e selecione Reverter. Essa ação cria uma nova branch com alterações que desfazem a PR em um branch de destino existente em seu repositório.
No painel Reverter solicitação de pull:
- Em Ramificação de destino, selecione a branch em que você deseja desfazer as alterações de PR.
- Em Nome da branch do tópico necessário, altere o reverter nome da branch de PR, se desejar.
- Selecione Reverter.
Na tela Nova solicitação de pull, selecione Criar.
Mescle a nova PR para concluir o reverter.
Observação
A branch criado durante essa reversão tem uma única confirmação que reverte todas as alterações de arquivo da PR original. A branch não contém uma confirmação revertida para cada um das confirmações na PR original.