Quando trabalhamos em equipe é fundamental criar uma proteção nos branches no Github, mas dependendo do tipo de projeto, até quando trabalhamos sozinhos é importante criar a proteção e evitar push direto no develop e master/main. Para projetos com deploy automatizado enviar algo direto para develop ou main também é um risco grande.
O processo de configuração e proteção de branches leva menos de 2 minutos. Vamos lá!
Passo a passo
Acesse sua conta no Github e o repositório que deseja fazer a configuração de proteção. Vá para o menu Settings e no menu lateral clique em Branches.
Alterar a branch padrão
Esta ação faz com que o clone do projeto e Pull Requests sempre sejam feitas pelo branch develop ou para ele. Sua branch não está 100% protegida ainda, mas este é um passo importante.
Troque a branch principal master/main por develop ou algum branch secundário.
Protegendo branch de push indevido
Na mesma tela, clique no botão Add Rule e no campo Branch name pattern adicione o seu branche principal main ou master e no box chamado Protect matching branches vá até a útlima opção e marque.
A opção Restrict who can push to matching branches vai restringir usuários não autorizados a darem push diretamente para as branches que correspondem ao que foi adicionado no quadro Branch name pattern.
Já a opção Restrict pushes that create matching branches vai impedir a criação de branches que correspondam ao que está escrito no campo Branch name pattern.
Lembrando que o box logo abaixo destas opções (na imagem acima), definem as exceções à estas regras.
Esta opção está disponíveis apenas para os planos Team e Enterprise em repositórios dentro de organizações. Caso seu repositório não esteja em uma organização, apenas crie uma e vincule o seu repositório. É um recurso gratuito também.
Conclusão
Com algumas alterações simples conseguimos proteger nosso projeto e podemos dormir tranquilamente 🙂
Conhecimento é algo que ninguém pode tirar de você e quando é compartilhado não se perde, multiplica.
[…] tipos com Github e outras ferramentas de versionamento, mas um jeito simples e funcional passa por proteger seu branch principal sempre que for […]
[…] tipos com Github e outras ferramentas de versionamento, mas um jeito simples e funcional passa por proteger seu branch principal sempre que for […]