Problema
Eu tenho um repositório no GitHub com as seguintes regras de proteção de ramificação habilitadas na main
ramificação:
- Exigir commits assinados : os commits enviados para as ramificações correspondentes devem ter assinaturas verificadas.
- Exigir uma solicitação de pull antes da mesclagem : exige que todos os commits sejam feitos em uma ramificação não-alvo e enviados por meio de uma solicitação de pull antes que possam ser mesclados.
- Bloquear pushes de força : Impedir que os usuários com acesso de push force pushem às ramificações.
Minha pergunta é: posso mesclar uma ramificação main
por meio da opção "Rebasear e mesclar" em uma solicitação pull sem quebrar as regras, pois na verdade não estou claro sobre o que "Rebasear e mesclar" faz na ramificação de destino .
Replicação
Adicionei alguns commits a um novo branch e criei uma pull request. E habilitei a mesclagem automática (rebase). Mas a mesclagem simplesmente trava, mesmo que todas as verificações de status necessárias tenham passado. Ele relata que "Branch base requer commits assinados" .
Aqui está minha solicitação pull: Atualização: inferência causal
Não. Se o que você está tentando fazer fosse possível, todos os commits acessíveis no main seriam não assinados. Na verdade, portanto, o que você está tentando fazer é fugir completamente do requisito de assinatura.
Rebase e mesclagem, apesar do nome, não é uma mesclagem. Em vez disso, ele cria toda uma nova série de commits diretamente no main. Esses novos commits não são iguais aos commits que constituem sua ramificação PR, mesmo que sejam baseados neles. Portanto, mesmo que seus commits de ramificação PR sejam assinados, esses novos commits, por definição, não são assinados. Portanto, você introduziria no main um conjunto de commits não assinados e sem histórico rastreável de origem. E isso é proibido.