Sobre branches protegidos
Os branches protegidos garantem que colaboradores no seu repositório não possam fazer alterações irreversíveis nos branches. Habilitar branches protegidos também permite habilitar outros requisitos e verificações opcionais, como verificação de status obrigatória e revisões obrigatórias.
Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.
Por padrão, qualquer pull request pode sofrer merge a qualquer momento, a menos que o branch head esteja em conflito com o branch base. Você pode optar por aplicar restrições em como uma pull request passa por merge no repositório.
Os proprietários de repositório e as pessoas com permissões de administrador para um repositório podem impor determinados fluxos de trabalho ou requisitos, antes que um colaborador possa fazer merge em seu repositório criando regras de branch protegido.
You can create a branch rule in a repository for a specific branch, all branches, or any branch that matches a naming pattern specified with the fnmatch syntax. For example, to require any branch containing the word release
to have at least two pull request reviews before merging, you can create a branch rule for *release*
.
Para obter mais informações, consulte "Configurar branches protegidos."
Priorização de regras de branches protegidos
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 têm uma prioridade mais alta.
Configurações de proteção de branch
Quando você cria uma regra de branch protegido em um repositório, os colaboradores não podem forçar o push no branch protegido nem excluir o branch por padrão. É possível habilitar outras configurações de proteção de branch para que os colaboradores:
- Não possam fazer merge de alterações no branch protegido, a menos que as verificações de status obrigatória sejam aprovadas. Para obter mais informações, consulte "Sobre verificações de status obrigatórias".
- Não possam fazer merge de alterações no branch protegido até que as revisões obrigatórias sejam aprovadas. Para obter mais informações, consulte "Aprovar uma pull request com revisões obrigatórias".
- Não possam editar o branch protegido nem fazer nele upload de arquivos da web
- Não possam fazer merge de alterações no branch protegido até que as alterações nos arquivos que têm um proprietário do código designado tenham sido aprovadas por esse proprietário. Para obter mais informações, consulte "Sobre proprietários do código".
- Não possam fazer push no branch protegido de commits que não foram assinados e verificados. Para obter mais informações, consulte "Sobre a assinatura de commit obrigatória".
If your repository is owned by an organization, you can restrict users or teams from pushing to a protected branch. Para obter mais informações, consulte "Sobre restrições de branch".