Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Gerenciar uma regra de proteção de branch

Você pode criar uma regra de proteção de branch para impor determinados fluxos de trabalho para um ou mais branches, como exigir uma revisão de aprovação ou que as verificações de status sejam aprovadas para todas as solicitações de pull mescladas no branch protegido.

Quem pode usar esse recurso

People with admin permissions or a custom role with the "edit repository rules" permission to a repository can manage branch protection rules.

Branches protegidos estão disponíveis em repositórios públicos com GitHub Free e GitHub Free para organizações e em repositórios públicos e privados com GitHub Pro, GitHub Team, GitHub Enterprise Cloud e GitHub Enterprise Server. Para mais informações, confira "Produtos do GitHub".

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.

  1. 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.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja escuro.

  2. Na seção "Código e automação" da barra lateral, clique em Branches.

  3. Ao lado de "Regras de proteção do branch", clique em Adicionar regra.

  4. Em "Padrão do nome do branch", digite o nome de branch ou padrão que você deseja proteger.

  5. Opcionalmente, habilite os pull requests necessários.

    • Em "Proteger os branches correspondentes", selecione Exigir uma solicitação de pull antes de fazer a mesclagem. Caixa de seleção Restrição de revisão da solicitação de pull
    • 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. Menu suspenso para selecionar o número de revisões de aprovação obrigatórias
    • 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. Caixa de seleção 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". Exigir a revisão dos 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. Caixa de seleção Permitir que atores específicos ignorem os requisitos de 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". Restrict who can dismiss pull request reviews checkbox
    • 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". Exigir revisão de alguém que não seja o último responsável pelo push
  6. 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. Opção Verificações de status obrigatórias
    • 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. Caixa de seleção Status obrigatório rígido ou flexível
    • Pesquise verificações de status, selecionando as verificações que você deseja exigir. Interface de pesquisa para verificações de status disponíveis, com uma lista de verificações necessárias
  7. Opcionalmente, selecione Exigir a resolução de conversas antes da mesclagem. Opção Exigir a resolução de conversas antes da mesclagem

  8. Opcionalmente, selecione Exigir commits assinados. Opção Exigir commits assinados

  9. Opcionalmente, selecione Exigir histórico linear. Opção Histórico linear obrigatório

  10. 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". Opção Exigir 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.

  11. 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. Exigir opção de implantação bem-sucedida

  12. Opcionalmente, selecione Bloquear branch para tornar o branch somente leitura. Captura de tela da caixa de seleção para bloquear um branch

    • Opcionalmente, para permitir a sincronização de fork, selecione Permitir sincronização do fork. Captura de tela da caixa de seleção para permitir a sincronização de fork
  13. Opcionalmente, selecione Não permitir que as configurações acima sejam ignoradas. Caixa de seleção Não permitir que as configurações acima sejam ignoradas

  14. 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. Caixa de seleção de restrição de branch
    • Opcionalmente, para restringir também a criação de branches correspondentes, selecione Restringir pushes que criam branches correspondentes. Caixa de seleção de restrição de criação de branch
    • Procurar e selecionar pessoas, equipes ou aplicativos que tenham permissão para fazer push no branch protegido ou criar um branch correspondente. Pesquisa de restrição de branch
  15. Opcionalmente, em "Regras aplicadas a todos, incluindo administradores", selecione Permitir pushes forçados. Opção 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. Captura de tela das opções para especificar quem pode forçar um push

      Para obter mais informações sobre pushes forçados, confira "Sobre branches protegidos".

  16. Opcionalmente, selecione Permitir exclusões. Opção Permitir exclusões de branch

  17. Clique em Criar.

Editar uma regra de proteção de branch

  1. 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.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja escuro.

  2. Na seção "Código e automação" da barra lateral, clique em Branches.

  3. À direita da regra de proteção de branch que deseja editar, clique em Editar. Botão Editar

  4. Faça as alterações desejadas na regra de proteção do branch.

  5. Clique em Salvar alterações. Botão Salvar alterações

Excluir as regras de proteção do branch

  1. 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.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja escuro.

  2. Na seção "Código e automação" da barra lateral, clique em Branches.

  3. À direita da regra de proteção de branch que deseja excluir, clique em Excluir. Botão Excluir