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.
Atualmente o GitHub AE está em versão limitada.

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 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 curinga * não corresponde aos separadores de diretório (/). Por exemplo, qa/* corresponderá a todos os branches que começam com qa/ e que contêm uma barra "/", mas não corresponderá a qa/foo/bar. Você pode incluir qualquer quantidade de barras "/" após qa com qa/**/*, o que corresponderá, por exemplo, a qa/foo/bar/foobar/hello-world. Você também pode 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, 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 sua empresa, 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.

    • Opcionalmente, para exigir aprovações para que uma solicitação de pull possa ser mesclada, selecione Exigir aprovações.

      Selecione o menu suspenso Número de aprovações obrigatórias antes da mesclagem e clique no 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. No campo pesquisar, procure e selecione os atores que têm permissão para ignorar as revisões de PR. Para obter mais informações, confira "Ignorar uma revisão de pull request".

  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.
    • 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.
    • No campo para pesquisar, pesquise verificações de status, selecionando as verificações que você deseja exigir.
  7. Opcionalmente, selecione Exigir a resolução de conversas antes da mesclagem.

  8. Opcionalmente, selecione Exigir commits assinados.

  9. Opcionalmente, selecione Exigir histórico linear.

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

  11. Opcionalmente, selecione Aplicar as regras acima aos administradores.

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

    • Selecione Restringir quem pode efetuar push em branches correspondentes.
    • No campo para pesquisar, pesquise e selecione pessoas, equipes ou aplicativos que tenham permissão para fazer push no branch protegido ou criar um branch correspondente.
  13. Opcionalmente, em "Regras aplicadas a todos, incluindo administradores", selecione Permitir pushes forçados.

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

  14. Opcionalmente, selecione Permitir exclusões.

  15. Clique em Criar.

Editar uma regra de proteção de branch

  1. No sua empresa, 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.

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

  5. Clique em Salvar alterações.

Excluir as regras de proteção do branch

  1. No sua empresa, 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.