👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


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 recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.
Versão do artigo: GitHub.com

Sobre verificações de status obrigatórias

As verificações de status obrigatórias garantem que todos os testes de CI sejam aprovados antes que os colaboradores possam fazer alterações em um branch protegido.

Branches protegidos estão disponíveis em 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. Para obter mais informações, consulte os "produtos do GitHub".

Neste artigo

Você conseguiu encontrar o que estava procurando?

Sobre verificações de status obrigatórias

Se você aplicou proteções de branch no repositório, será possível configurar as verificações de status obrigatórias. Para obter mais informações, consulte "Configurar branches protegidos" e "Habilitar verificações de status obrigatórias". As verificações de status obrigatórias podem ser verificações ou status. Para obter mais informações, consulte "Sobre verificações de status".

Depois de habilitar as verificações de status obrigatórias, todas elas deverão ser aprovadas para que os branches possam passar por merge no branch protegido. After all required status checks pass, any commits must either be pushed to another branch and then merged or pushed directly to the protected branch.

Fazer merge do branch protegido

Observação: Qualquer pessoa ou integração com permissões de gravação em um repositório pode configurar o estado de qualquer verificação de status no repositório. O GitHub não analisa se o autor de uma verificação está autorizado a criar uma verificação com um determinado nome ou modificar um status existente. Before merging a pull request, you should verify that the author of each status, listed in the merge box, is expected.

Os administradores de um repositório poderão fazer merge de um branch protegido mesmo se as verificações de status obrigatórias tiverem falhado ou estiverem pendentes. Você pode exigir que os administradores estejam sujeitos às verificações de status obrigatórias. For more information, see "Enabling required status checks."

Merge do branch protegido pelo administrador

Os administradores também poderão fazer merge de um branch protegido mesmo se o branch não estiver atualizado com o branch base.

Required status checks settings

You can set up either loose or strict status checks, depending on whether you want to require your branch to be up to date with the base branch before merging. For more information, see "Types of required status checks."

Troubleshooting required status checks

If you have a check and a status with the same name and you select that name as a required status check, both the check and the status are required. For more information, see "Checks."

Após configuração das verificações de status obrigatórias, o branch deverá ser atualizado com o branch base antes da ação de merge. Isso garante que o branch foi testado com o código mais recente do branch base. Se o branch estiver desatualizado, você precisará fazer merge do branch base no seu branch.

Note: You can also bring your branch up to date with the base branch using Git rebase. Para obter mais informações, consulte "Rebase no Git".

Branch desatualizado

Não será possível fazer push de alterações locais em um branch protegido enquanto todas as verificações de status obrigatórias não forem aprovadas. Sendo assim, você receberá uma mensagem de erro semelhante a esta:

remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Required status check "ci-build" is failing

Observação: as pull requests que são atualizadas e passam nas verificações de status obrigatórias podem sofrer merge localmente e enviadas por push ao branch protegido. Isso pode ser feito sem verificações de status em execução no próprio commit de merge.

Sometimes, the results of the status checks for the test merge commit and head commit will conflict. If the test merge commit has a status, it must pass. Otherwise, the status of the head commit must pass before you can merge the branch. For more information about test merge commits, see "Pull Requests."

Branch with conflicting merge commits

Further reading

Você conseguiu encontrar o que estava procurando?

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato