Versão do artigo: Enterprise Server 2.17
Configurar branches protegidos e verificações de status obrigatórias
Você pode habilitar branches protegidos para limitar a manipulação dos branches, além de impor verificações de status obrigatórias antes de fazer merge de um branch em uma pull request ou antes de fazer push de commits em um branch local para o branch remoto protegido.
Qualquer pessoa com permissões de administrador em um repositório pode habilitar restrições de branch.
Habilitar branches protegidos em um repositório
- No GitHub Enterprise, navegue até a página principal do repositório.
- Under your repository name, click Settings.
- In the left menu, click Branches.
- Next to "Branch protection rules", click Add rule.
- Under "Branch name pattern", type the branch name or pattern you want to protect.
- Click Create.
Tipos de verificações de status obrigatórias
Tipo de verificação de status obrigatória | Configuração | Requisitos de merge | Considerações |
---|---|---|---|
Rígida | A caixa de seleção Require branches to be up-to-date before merging (Exigir a atualização dos branches antes de fazer merge) fica marcada. | O branch precisa ser atualizado no branch base antes do merge. | Este é o comportamento padrão para verificações de status obrigatórias. Podem ser necessárias mais compilações, já que você precisará atualizar o branch head depois que outros colaboradores fizerem merge de pull requests no branch base protegido. |
Flexível | A caixa de seleção Require branches to be up-to-date before merging (Exigir a atualização dos branches antes de fazer merge) não fica marcada. | O branch não precisa ser atualizado no branch base antes do merge. | Serão necessárias menos compilações, já que você não precisará atualizar o branch head depois que outros colaboradores fizerem merge de pull requests. As verificações de status poderão falhar depois que você fizer merge do branch, caso haja alterações incompatíveis com o branch base. |
Desabilitada | A caixa de seleção Require status checks to pass before merging (Exigir verificações de status para aprovação antes de fazer merge) não fica marcada. | O branch não tem restrições de merge. | Se as verificações de status obrigatórias não estiverem habilitadas, os colaboradores poderão fazer merge do branch a qualquer momento, estando ou não atualizados com o branch base. Isso aumenta a possibilidade de alterações incompatíveis. |
Habilitar verificações de status obrigatórias
- No GitHub Enterprise, navegue até a página principal do repositório.
- Under your repository name, click Settings.
- In the left menu, click Branches.
- Next to "Branch protection rules", click Add rule.
- Under "Branch name pattern", type the branch name or pattern you want to protect.
- Selecione Require status checks to pass before merging (Exigir verificações de status para aprovação antes de fazer merge).
- Na lista de verificações de status disponíveis, selecione aquelas que você deseja tornar obrigatórias.
- Outra opção é selecionar Include administrators (Incluir administradores). This enforces all configured restrictions for repository administrators.
- Outra opção é desmarcar Require branches to be up to date before merging (Exigir que os branches sejam atualizados antes de fazer merge). Se selecionada, isso garante que o branch foi testado com o código mais recente no branch básico.
- Optionally, select Restrict who can push to this branch.
- Search for and select the people or teams who will have permission to push to the protected branch.
- Click Create.
Tip: To successfully merge a pull request into a base branch that has required status checks enabled, the pull request's head branch must be up-to-date with the base branch.