Sobre as regras de proteção do branch
Você pode criar uma regra de proteção de branch em um repositório para um branch específico, para todos os branches ou para qualquer branch que corresponda a um padrão de nome especificado com a sintaxe fnmatch
. Por exemplo, para proteger os branches que contêm a palavra release
, você pode criar uma regra de branch para *release*
.
É possível criar uma regra para todos os branches atuais e futuros no repositório com a sintaxe de caractere curinga *
. Como o GitHub usa o sinalizador File::FNM_PATHNAME
para a sintaxe File.fnmatch
, o caractere curinga não corresponde aos separadores de diretório (/
). Por exemplo, qa/*
corresponderá a todos os branches que começam com qa/
e contêm uma barra individual. Você pode incluir várias barras com qa/**/*
e estender a cadeia de caracteres qa
com qa**/**/*
para tornar a regra mais inclusiva. Para obter mais informações sobre as opções de sintaxe para as regras de branch, confira a documentação de fnmatch.
Se um repositório tiver várias regras de branch protegido que afetem os mesmos branches, as regras que incluírem um nome de branch específico terão a prioridade mais alta. Se houver mais de uma regra de branch protegido que faça referência ao mesmo nome de branch específico, a regra de branch criada primeiro terá a prioridade mais alta.
As regras de branch protegido que mencionam um caractere especial, como *
, ?
ou ]
, são aplicadas na ordem em que foram criadas, de modo que as regras mais antigas com esses caracteres tenham uma prioridade mais alta.
Para criar uma exceção a uma regra de branch existente, você pode criar outra regra de proteção de branch que tenha prioridade superior, como uma regra para um nome de branch específico.
Para obter mais informações sobre cada uma das configurações de proteção de branch disponíveis, confira "Sobre branches protegidos".
Criar uma regra de proteção de branch
Ao criar uma regra de branch, o branch que você especificar ainda não existe no repositório.
-
No GitHub.com, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia suspensa "Configurações", selecione o menu suspenso e clique em Configurações.
-
Na seção "Código e automação" da barra lateral, clique em Branches.
-
Ao lado de "Regras de proteção do branch", clique em Adicionar regra.
-
Em "Padrão do nome do branch", digite o nome de branch ou padrão que você deseja proteger.
-
Opcionalmente, habilite os pull requests necessários.
- Em "Proteger os branches correspondentes", selecione Exigir uma solicitação de pull antes de fazer a mesclagem.
- Opcionalmente, para exigir aprovações antes que uma solicitação de pull possa ser mesclada, selecione Exigir aprovações, clique no menu suspenso Número necessário de aprovações antes da mesclagem e selecione o número de aprovações de revisões que deseja exigir no branch.
- Opcionalmente, para ignorar uma revisão de aprovação de solicitação de pull quando um commit de modificação de código for enviado por push para o branch, selecione Ignorar aprovações de solicitações de pull obsoletas quando novos commits forem enviados por push.
- Opcionalmente, para exigir a revisão de um proprietário do código quando a solicitação de pull afetar o código que tem um proprietário designado, selecione Exigir revisão de Proprietários do Código. Para obter mais informações, confira "Sobre os proprietários de código".
- Opcionalmente, para permitir que atores específicos efetuem push do código para o branch sem criar solicitações de pull quando necessário, selecione Permitir que atores específicos ignorem as solicitações de pull necessárias. Em seguida, pesquise e selecione os atores que devem ter permissão para ignorar a criação de uma solicitação de pull.
- Opcionalmente, se o repositório fizer parte de uma organização, selecione Restringir quem pode ignorar as revisões de solicitação de pull. Em seguida, procure e selecione os atores que têm permissão para ignorar as revisões de solicitação de pull. Para obter mais informações, confira "Ignorar uma revisão de pull request".
- Opcionalmente, para exigir que alguém que não seja a última pessoa que fez o envio por push para um branch aprove uma solicitação de pull antes da mesclagem, selecione Exigir aprovação de alguém que não seja o último responsável pelo push. Para obter mais informações, confira "Sobre branches protegidos".
- Em "Proteger os branches correspondentes", selecione Exigir uma solicitação de pull antes de fazer a mesclagem.
-
Opcionalmente, habilite as verificações de status obrigatórias. Para obter mais informações, confira "Sobre verificações de status".
- Selecione Exigir a aprovação de verificações de status antes da mesclagem.
- Opcionalmente, para garantir que as solicitações de pull sejam testadas com o código mais recente no branch protegido, selecione Exigir que os branches estejam atualizados antes da mesclagem.
- Pesquise verificações de status, selecionando as verificações que você deseja exigir.
- Selecione Exigir a aprovação de verificações de status antes da mesclagem.
-
Opcionalmente, selecione Exigir a resolução de conversas antes da mesclagem.
-
Opcionalmente, selecione Exigir commits assinados.
-
Opcionalmente, selecione Exigir histórico linear.
-
Opcionalmente, para mesclar as solicitações de pull usando uma fila de mesclagem, selecione Exigir fila de mesclagem. Para obter informações sobre a fila de mesclagem, confira "Como gerenciar uma fila de mesclagem".
Dica: atualmente, o recurso de fila de mesclagem da solicitação de pull está em versão beta pública e sujeito a alterações.
-
Opcionalmente, para escolher os ambientes nos quais as alterações precisam ser implantadas com sucesso antes da mesclagem, selecione Exigir que as implantações seja feitas com sucesso antes da mesclagem e selecione os ambientes.
-
Opcionalmente, selecione Bloquear branch para tornar o branch somente leitura.
- Opcionalmente, para permitir a sincronização de fork, selecione Permitir sincronização do fork.
- Opcionalmente, para permitir a sincronização de fork, selecione Permitir sincronização do fork.
-
Opcionalmente, selecione Não permitir que as configurações acima sejam ignoradas.
-
Opcionalmente, em repositórios públicos pertencentes a uma organização do GitHub Free e em todos os repositórios pertencentes a uma organização que usa o GitHub Team ou o GitHub Enterprise Cloud, habilite as restrições de branch.
- Selecione Restringir quem pode efetuar push em branches correspondentes.
- Opcionalmente, para restringir também a criação de branches correspondentes, selecione Restringir pushes que criam branches correspondentes.
- Procurar e selecionar pessoas, equipes ou aplicativos que tenham permissão para fazer push no branch protegido ou criar um branch correspondente.
- Selecione Restringir quem pode efetuar push em branches correspondentes.
-
Opcionalmente, em "Regras aplicadas a todos, incluindo administradores", selecione Permitir pushes forçados.
Em seguida, escolha quem pode fazer push forçado no branch.-
Selecione Todos para permitir que todos com, no mínimo, permissões de gravação no repositório efetuem pushes forçados no branch, incluindo aqueles com permissões de administrador.
-
Selecione Especificar quem pode efetuar push forçado para permitir que apenas atores específicos efetuem push forçado no branch. Em seguida, procure e selecione esses atores.
Para obter mais informações sobre pushes forçados, confira "Sobre branches protegidos".
-
-
Opcionalmente, selecione Permitir exclusões.
-
Clique em Criar.
Editar uma regra de proteção de branch
-
No GitHub.com, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia suspensa "Configurações", selecione o menu suspenso e clique em Configurações.
-
Na seção "Código e automação" da barra lateral, clique em Branches.
-
À direita da regra de proteção de branch que deseja editar, clique em Editar.
-
Faça as alterações desejadas na regra de proteção do branch.
-
Clique em Salvar alterações.
Excluir as regras de proteção do branch
-
No GitHub.com, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia suspensa "Configurações", selecione o menu suspenso e clique em Configurações.
-
Na seção "Código e automação" da barra lateral, clique em Branches.
-
À direita da regra de proteção de branch que deseja excluir, clique em Excluir.