Skip to main content

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.

Who can use this feature

People with admin permissions to a repository can manage branch protection rules.

Os branches protegidos estão disponíveis em repositórios internos e privados comGitHub AE, 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.

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 os 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 your enterprise, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Botão Configurações do repositório

  2. No menu à esquerda, clique em Branches. Submenu de opções do repositório 4. Ao lado de "Regras de proteção de branch", clique em Adicionar regra. Botão Adicionar regra de proteção de branch

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

  4. 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 seleção do número de aprovações de revisã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 revisão dos proprietários do 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 "Como ignorar uma revisão de solicitação de pull". Restrict who can dismiss pull request reviews checkbox
  5. Opcionalmente, habilite as verificações de status obrigatórias. Para obter mais informações, confira "Sobre as 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
  6. Opcionalmente, selecione Exigir a resolução de conversas antes da mesclagem. Opção Exigir a resolução de conversas antes da mesclagem

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

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

  9. Opcionalmente, selecione Aplicar as regras acima aos administradores. Caixa de seleção Aplicar as regras acima aos administradores

  10. Opcionalmente, habilite as restrições de branch.

    • Selecione Restringir quem pode efetuar push em branches correspondentes. Caixa de seleção de restriçã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
  11. Opcionalmente, em "Regras aplicadas a todos, incluindo administradores", selecione Permitir pushes forçados. Permitir opção de pushes forçados Em seguida, escolha quem pode forçar o push para o 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 "Permitir pushes forçados".

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

  13. Clique em Criar.

Editar uma regra de proteção de branch

  1. No your enterprise, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Botão Configurações do repositório
  2. No menu à esquerda, clique em Branches. Submenu de opções do repositório
  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 your enterprise, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Botão Configurações do repositório
  2. No menu à esquerda, clique em Branches. Submenu de opções do repositório
  3. À direita da regra de proteção de branch que deseja excluir, clique em Excluir. Botão Excluir