Para padronizar os formatos de commit dos desenvolvedores, o Codeup oferece um serviço de verificação que valida commits por meio de regras de push personalizadas. Este tópico descreve como crie uma regra de push e explica o que ocorre quando ela é acionada.
Criar uma regra de push
-
Como administrador do repositório, clique em Settings no canto inferior esquerdo e acesse Push Rule Settings.

-
Clique em Create Push Rule e configure os parâmetros da regra.
Na caixa de diálogo Create Push Rule, configure os seguintes parâmetros: Commit Message (uma expressão regular que a mensagem de commit deve corresponder, por exemplo,
^fix #[A-Z]+\-[0-9]+), Committer Email (uma expressão regular que o e-mail do committer deve corresponder, por exemplo,@example\.com$) e Restricted Files (impede o push de arquivos cujos nomes correspondam à expressão regular; é possível adicionar várias regras, separadas por novas linhas). Também é possível selecione as opções Prevent force push e Code owner check. A regra de verificação pode ser aplicada aoauthorou aocommitter. O nível de restrição pode ser defina como Block Push ou Warn but Allow Push. Ao concluir, clique em OK.
ImportanteAs regras de push se aplicam a todas as branches de um repositório.
Commit Message: O push só é permitido se a mensagem de commit corresponder à expressão regular especificada. Se este campo estiver vazio, todas as mensagens de commit serão aceitas.
Committer Email: O endereço de e-mail do committer, configurado com
git config, deve corresponder à expressão regular especificada. Caso este campo esteja vazio, todos os endereços de e-mail serão permitidos.-
Prevent force push: Um force push substitui o código remoto e pode causar perda permanente de código e histórico de commits. Utilize esse comando com cautela. Se você suspeitar que um force push causou perda de histórico de commits, filtre por eventos de force push no feed de Activity do repositório para rastrear o operador e visualize os registros de
force push.Quando ativada, esta opção bloqueia o comando
git push -fcaso sua branch local tenha divergido da remota, evitando que o código no servidor seja sobrescrito.NotaSe a opção Prevent force push estiver ativada, mas sua branch local não tiver divergido da branch remota, o uso de git push -f terá o mesmo efeito que
git push, e o push será bem-sucedido. -
Code owner check: O recurso Code owner check depende das informações de usuário do Git configuradas.
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
Author e committer
O Git permite reescrever o histórico ou fazer commits em nome de outras pessoas. Para garantir estatísticas de contribuição precisas, o author do commit deve corresponder ao usuário conectado.
O committer geralmente não é exibido. Ele aparece apenas quando se utiliza um comando específico
git log --format(por exemplo,format=fuller). O committer é a pessoa que finaliza o commit, com base nas configuraçõesgit config user.nameegit config user.emailno momento do commit.Ao usar o comando git commit**, utilize o parâmetro
authorpara especifique o colaborador.** Em projetos open-source, é uma prática comum creditar alguém como author mesmo que você tenha apenas adotado a ideia dessa pessoa sem usar seu código diretamente. Em um commit inicial, o author e o committer costumam ser a mesma pessoa. No entanto, ao reescrever o histórico de commits com comandos comogit cherry-pickougit rebase, o author permanece o mesmo, mas o committer passa a ser a pessoa que executa a operação. Resumindo, o author é o colaborador original, e o committer é quem aplica o commit.-
O Codeup pode verificar os endereços de e-mail do author e do committer em relação ao e-mail principal verificado do usuário conectado. Isso garante a atribuição correta de propriedade e evita estatísticas de contribuição imprecisas causadas por incompatibilidade de usuários.
No canto superior direito do Alibaba Cloud DevOps, acesse Personal Settings. No painel de navegação à esquerda, selecione Personal Information. Na seção Email, visualize e gerencie seus endereços de e-mail vinculados. O Codeup usa o endereço marcado como primary email para corresponder ao author ou ao committer. Para adicionar um novo endereço de e-mail, clique em Bind Email e conclua o processo de verificação.
Herdar regras no nível da organização
As regras herdadas da sua organização são somente leitura e não podem ser editadas ou excluídas no nível do repositório. Para modifique essas regras, entre em contato com o administrador da sua organização .
Verificações no momento do push
Considere uma regra com a seguinte configuração: Regra de verificação: Verificar Author; Nível de restrição: Avisar, mas permitir push.
Para essa regra de push, Commit Message está definido como feature-*, Committer Email está restrito a @alibaba.com, Restricted Files está vazio e Prevent force push está ativado.

Operações na interface
Se uma mensagem de commit não corresponder à regra, o push será rejeitado e o erro Push rule check failed aparecerá. A mensagem especifica que a mensagem de commit não corresponde à expressão regular definida (por exemplo, feature-*) e exibe o ID do commit rejeitado.
Da mesma forma, o push será rejeitado se o e-mail do author não corresponder à regra.
Uma mensagem de erro vermelha, Push rule check failed, aparece na parte superior da página. Ela indica que o e-mail do author não corresponde à expressão regular especificada (por exemplo, @alibaba.com) e exibe o ID do commit rejeitado.
A mesma lógica se aplica a merge requests.