Concluir, abandonar ou reverter pedidos 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 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
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 RPs usam az repos pr.
Verificar alterações de fusões
Quando se conclui um PR, o Git adiciona um novo commit de merge 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 pré-visualização da confirmação de mescla e verificar se há conflitos de mescla, selecione o menu Mais opções no canto superior direito de uma página de Visão Geral de um RP e, em seguida, selecione Ver alterações de mescla.
Se alterou o ramo de destino depois de criar a PR, selecione Reiniciar mesclagem para criar um novo commit de mesclagem de pré-visualização e atualizar o diferencial de alteração da mesclagem.
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 ramo em vigor para o seu pull request, se elas são necessárias para a mesclagem e se o pull request está aprovado ou reprovado.
A aba 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 pode visualizar todas as verificações de política selecionando Exibir <n> verificações de política.
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.
Finalizar 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.
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.
- Concluído: conclua o PR agora e mescle as alterações na ramificação de destino.
- Definir auto-completar: Configurar o PR para concluir e integrar assim que 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 mesclar as alterações.
No painel Concluir solicitação pull, na seção Tipo de fusão, selecione uma das opções de fusão.
- Fusão (sem avanço rápido): Mesclar com um histórico não linear que preserva todos os commits.
- 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: Rebase os commits de origem no destino e avance rapidamente.
- Mesclagem semilinear: Rebase os commits da origem para o destino e crie uma fusão com 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.
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 tiveres a permissão de Isenção da aplicação da política.
Selecione Concluir mesclagem.
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:
- Completar: Complete o PR agora e integre as alterações na ramificação de destino.
- Definir preenchimento automático: se tiver políticas de ramificação, configure o PR para concluir e mesclar assim que cumprir todas as políticas de ramificação necessárias.
- Abandonar: Fechar a PR sem integrar as alterações.
Na tela Concluir solicitação de pull, insira a mensagem para o commit de mesclagem e atualize a descrição do PR.
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.
Ignorar as políticas de ramificação e activar a fusão para forçar uma ramificação a ser fundida, mesmo que 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 de aplicação de política.
Nota
As políticas existentes continuam a ser aplicadas. Por exemplo, se o seu ramo atualmente tem uma política de "squash merge only" em uso, tem de editar essa política para usar os outros métodos de integração.
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.
Rebase durante a conclusão do PR
Existem algumas circunstâncias em que o rebase durante a conclusão do PR não é possível.
- Se uma política na ramificação de destino proibir o rebase, será necessário a permissão para substituir políticas da ramificação para realizar o rebase.
- 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 das políticas.
- Se utilizou a Extensão de Conflitos de Fusão para resolver conflitos de fusão, não poderá fazer 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 com múltiplas bases de interseção
Em alguns casos, um Pull Request (PR) pode ter mais de uma base de mesclagem efetiva, e isso pode levar a problemas de segurança. Se os ficheiros no Pull Request tiverem versões diferentes entre as bases de junção, ocorrerá um aviso de múltiplas bases de junção. Para obter mais informações e remediação, consulte Múltiplas bases de mesclagem.
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.
Definir uma solicitação pull para preenchimento automático
Selecione Definir preenchimento automático na lista suspensa de 'Completar' para concluir e mesclar as alterações de PR 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 tiver políticas de ramificações. 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 a Conclusão Automática, pode também optar por aguardar as políticas opcionais.
A partir da Atualização 2 do TFS 2018, a página de Visão geral do PR exibe a lista de critérios de política pendentes aguardados pelo PR. 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.
Um PR configurado para auto-completar exibe um selo de auto-completar na página de Pedidos de Pull.
Abandonar ou reativar um pull request
Para abandonar as suas alterações e o seu PR sem mesclar, selecione Abandonar na lista suspensa do botão Concluir. Você ainda pode visualizar o PR abandonado e ele permanece vinculado a itens de trabalho.
Para reativar um pedido de pull abandonado a qualquer momento, abra o pedido de pull no separador Abandonado na visualização Pull Request e selecione Reativar no canto superior direito.
Reverter um pull request concluído
Para desfazer as alterações de um PR, siga estas etapas. Para obter mais informações, veja Desfazer alterações.
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.
No painel de Reversão do pull request:
- Em Ramificação de destino, selecione a ramificação onde deseja desfazer as alterações de RP.
- Em Nome da ramificação do tópico necessário, altere o nome da ramificação de RP revertida, se desejar.
- Selecione Reverter.
No ecrã Nova pull request, selecione Criar.
Mescle o novo PR para concluir a reversão.
Nota
A ramificação criada durante essa 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.