Trabalhar com solicitações pull em repositórios do AWS CodeCommit - AWS CodeCommit

AWS CodeCommit não está mais disponível para novos clientes. Os clientes atuais do AWS CodeCommit podem continuar usando o serviço normalmente. Saiba mais

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trabalhar com solicitações pull em repositórios do AWS CodeCommit

Uma solicitação de extração é a principal maneira para você e outros usuários de repositório analisarem, comentarem e mesclarem alterações de código de uma ramificação para outra. Você pode usar solicitações de extração para analisar alterações de código de maneira colaborativa em caso de alterações ou correções relativamente pequenas, adições significativas de recursos ou novas versões do seu software lançado. Aqui está um possível fluxo de trabalho para uma solicitação pull:

Li Juan, uma desenvolvedora que trabalha em um repositório chamado MyDemoRepo, deseja trabalhar em um novo atributo para uma versão futura de um produto. Para manter seu trabalho separado do código pronto para produção, ela cria uma ramificação a partir da ramificação padrão e a chama de feature-randomizationfeature. Ela escreve código, faz confirmações e envia o novo código de recurso por push para essa ramificação. Ela quer que outros usuários do repositório analisem o código para verificar a qualidade antes de ela mesclar suas alterações na ramificação padrão. Para isso, ela cria uma solicitação pull. A solicitação de extração contém a comparação entre sua ramificação de trabalho e a ramificação do código em que ela pretende mesclar as alterações (neste caso, a ramificação padrão). Ela também pode criar uma regra de aprovação que exige que um número especificado de usuários aprovem a solicitação pull. Ela pode até mesmo especificar um grupo de aprovações de usuários. Outros usuários analisam seu código e alterações adicionando comentários e sugestões. Ela pode atualizar sua ramificação de trabalho várias vezes com alterações de código em resposta aos comentários. Suas alterações são incorporadas na solicitação pull sempre que ela as envia para essa ramificação no CodeCommit. Ela também pode incorporar as alterações que foram feitas na ramificação de destino pretendida enquanto a solicitação de extração estiver aberta, para que os usuários possam ter certeza de que estão revisando todas as alterações propostas no contexto. Quando ela e seus revisores estiverem satisfeitos e as condições para as regras de aprovação (se houver) forem atendidas, ela ou um de seus revisores mescla o código e fecha a solicitação pull.

Criação de uma solicitação pull

As solicitações de extraçãoexigem duas ramificações: uma ramificação de origem, que contém o código que você deseja analisar, e uma ramificação de destino, na qual você mescla o código revisado. A ramificação de origem contém a confirmação AFTER, que é a confirmação que contém as alterações que você deseja mesclar na ramificação de destino. A ramificação de destino contém a confirmação BEFORE, que representa o estado do código (antes de a ramificação da solicitação pull ser mesclada à ramificação de destino). A opção da estratégia de mesclagem afeta os detalhes de como as confirmações são mescladas entre as ramificações de origem e de destino no console do CodeCommit. Para obter mais informações sobre as estratégias de mesclagem no CodeCommit, consulte Mesclar uma solicitação pull (console).

As ramificações de origem e de destino para solicitações de extração mostrando o relacionamento entre confirmações de antes e depois

A solicitação de extração exibe as diferenças entre a extremidade da ramificação de origem e a confirmação mais recente na ramificação de destino quando a solicitação de extração é criada para que os usuários possam visualizar e comentar sobre as alterações. Você pode atualizar a solicitação de extração em resposta a comentários confirmando e enviando alterações para a ramificação de origem.

Adicionar um comentário em um linha em uma solicitação pull.

Quando o código for revisado e os requisitos da regra de aprovação (se houver) forem atendidos, será possível fechar a solicitação pull de várias maneiras:

  • Mescle as ramificações localmente e faça push de suas alterações. Isso fecha a solicitação automaticamente se a estratégia de mesclagem encaminhada for usada e não houver conflitos de mesclagem.

  • Use o console do AWS CodeCommit para fechar a solicitação pull sem mesclar, resolver conflitos em um mesclagem ou, se não houver conflitos, fechar e mesclar as ramificações usando uma das estratégias de mesclagem disponíveis.

  • Use a AWS CLI.

Ates de criar uma solicitação pull:

  • Verifique se você confirmou e enviou as alterações de código por push que você deseja que sejam revisadas a uma ramificação (a ramificação de origem).

  • Configure notificações para seu repositório para que outros usuários possam ser notificados sobre a solicitação de extração e alterações feitas a ela. (Esta etapa é opcional, mas recomendada.)

  • Crie e associe modelos de regra de aprovação ao repositório para que as regras de aprovação sejam criadas automaticamente para solicitações pull a fim de ajudar a garantir a qualidade do código. Para obter mais informações, consulte Trabalhar com modelos de regra de aprovação.

As solicitações pull são mais eficientes quando você configura usuários do IAM para os usuários do repositório na conta da Amazon Web Services. É mais fácil identificar qual usuário fez qual comentário. A outra vantagem é que os usuários do IAM podem usar credenciais do Git para acessar o repositório. Para obter mais informações, consulte Etapa 1: Configuração inicial para CodeCommit. Você pode usar solicitações de extração com outros tipos de usuários, incluindo usuários de acesso federado.

Para obter informações sobre como trabalhar com outros aspectos do seu repositório no CodeCommit, consulte Trabalhar com repositórios, Trabalhar com modelos de regra de aprovação, Trabalhar com arquivos, Trabalhar com confirmações, Trabalhar com ramificações e Trabalhar com preferências do usuário.