Versão do artigo: GitHub.com
Sobre branches
Use um branch para isolar o trabalho de desenvolvimento sem afetar outros branches no repositório. Cada repositório tem um branch padrão e pode ter vários outros branches. Você pode fazer merge de um branch em outro branch usando uma pull request.
Neste artigo
Were you able to find what you were looking for?
Thank you! Your feedback has been submitted.
Introducing branches
Os branches podem ser usados para:
- Desenvolver recursos
- Corrigir erros
- Testar novas ideias com segurança
You always create a branch from an existing branch. Typically, you might create a branch from the master branch of your repository. You can then work on this new branch in isolation from changes that other people are making to the repository. A branch you create to build a feature is commonly referred to as a feature branch or topic branch. Para obter mais informações, consulte "Criar e excluir branches em seu repositório".
Também é possível usar um branch para publicar um site do GitHub Pages. Para obter mais informações, consulte "O que é GitHub Pages?"
Você deve ter acesso de gravação em um repositório para criar um branch, abrir uma pull request ou excluir e restaurar branches em uma pull request. Nos repositórios em que você tem acesso de proprietário ou administrador, é possível alterar o branch padrão. Para obter mais informações, consulte "Permissões de acesso no GitHub" e "Gerenciar branches em seu repositório".
Working with branches
Once you're satisfied with your work, you can open a pull request to merge the changes in the current branch (the head branch) into another branch (the base branch). Para obter mais informações, consulte "Sobre pull requests".
After a pull request has been merged, or closed, you can delete the head branch as this is no longer needed. You must have write access in the repository to delete branches. You can't delete branches that are directly associated with open pull requests. For more information, see "Deleting and restoring branches in a pull request"
If you delete a head branch after its pull request has been merged, GitHub checks for any open pull requests in the same repository that specify the deleted branch as their base branch. GitHub automatically updates any such pull requests, changing their base branch to the merged pull request's base branch. The following diagrams illustrate this.
Here someone has created a branch called feature1 from the master branch, and you've then created a branch called feature2 from feature1. There are open pull requests for both branches. The arrows indicate the current base branch for each pull request. At this point, feature1 is the base branch for feature2. If the pull request for feature2 is merged now, the feature2 branch will be merged into feature1.

In the next diagram, someone has merged the pull request for feature1 into the master branch, and they have deleted the feature1 branch. As a result, GitHub has automatically retargeted the pull request for feature2 so that its base branch is now master.

Now when you merge the feature2 pull request, it'll be merged into the master branch.
Trabalhar com branches protegidos
Os administradores de repositório podem habilitar proteções em um branch. Se estiver trabalhando em um branch que é protegido, não será possível excluir nem forçar o push no branch. Os administradores do repositório podem habilitar, de modo adicional, várias outras configurações de branch protegido para aplicar vários fluxos de trabalho antes que um branch passe por um merge.
Observação: se você for administrador de um repositório, será possível fazer merge de pull requests em branches com proteções de branch habilitadas, mesmo se a pull request não atender aos requisitos; a não ser que as proteções de branch tenham sido definidas para "Include administrators" (Incluir administradores).
Para verificar se é possível fazer merge de uma pull request, observe a caixa de merge na parte inferior da guia Conversation (Conversa) da pull request. Para obter mais informações, consulte "Sobre branches protegidos".
Quando um branch estiver protegido:
- Você não poderá excluir nem fazer um push forçado no branch.
- Se as verificações de status obrigatórias forem habilitadas no branch, não será possível fazer merge das alterações no branch até que todos os testes de CI obrigatórios sejam aprovados. Para obter mais informações, consulte "Sobre verificações de status".
- Se as revisões obrigatórias de pull request forem habilitadas no branch, não será possível fazer merge de alterações no branch até que todos os requisitos na política da revisão de pull request tenham sido atendidos. Para obter mais informações, consulte "Fazer merge de uma pull request".
- Se a revisão obrigatória de um proprietário do código for habilitada em um branch, e uma pull request modificar o código que tem um proprietário, um proprietário do código deverá aprovar a pull request para que ela possa passar por merge. Para obter mais informações, consulte "Sobre proprietários do código".
- Se a assinatura de commit obrigatória for habilitada em um branch, não será possível fazer push de qualquer commit no branch que não esteja assinado e verificado. Para obter mais informações, consulte "Sobre a verificação da assinatura de commit" e "Sobre a assinatura de commit obrigatória".
Leia mais
- "Sobre pull requests"
- "Branch" no glossário do GitHub
- "Branches em um Nutshell" na documentação do Git
Were you able to find what you were looking for?
Thank you! Your feedback has been submitted.