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
-
On GitHub Enterprise, navigate to the main page of the repository.
-
Under your repository name, click Settings.
-
In the left menu, click Branches.
-
Em Protected Branches (Branches protegidos), selecione o branch que deseja proteger usando o menu suspenso.
-
Selecione Protect this branch (Proteger este branch).
-
Clique em Save changes (Salvar alterações).
Tipos de verificações de status obrigatórias
Tipo | Configuração | Requisitos de merge | Considerações |
---|---|---|---|
Estrita | 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 criações, já que você terá que atualizar o branch principal depois que outros colaboradores fizerem merge em pull requests no branch de 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. | Menos criações serão necessárias, já que você não terá que atualizar o branch principal depois que outros colaboradores fizerem merge em pull requests. As verificações de status podem falhar após o merge do seu branch se houver alterações incompatíveis com o branch de 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 de base. Isso aumenta a possibilidade de alterações incompatíveis. |
Habilitar verificações de status obrigatórias
-
On GitHub Enterprise, navigate to the main page of the repository.
-
Under your repository name, click Settings.
-
In the left menu, click Branches.
-
Em Protected Branches (Branches protegidos), selecione o branch que deseja marcar com verificação de status obrigatória usando o menu suspenso.
-
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.
-
Optionally, select Include administrators. This enforces the required status checks on the 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.
-
Você também pode selecionar Restrict who can push to this branch (Restringir quem pode fazer push para este branch).
-
Pesquise e selecione os usuários, equipes que terão permissão para fazer push para o branch protegido.
-
Clique em Save changes (Salvar alterações).
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.