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.

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

Sobre branches

Os branches permitem que você desenvolva recursos, corrija erros ou experimente com segurança novas ideias em uma área contida do seu repositório.

Você sempre cria um branch a partir de um branch existente. Normalmente, você pode criar um novo branch a partir do branch-padrão do seu repositório. Você então poderá trabalhar nesse novo branch isolado das mudanças que outras pessoas estão fazendo no repositório. Um branch que você cria para produzir um recurso é comumente referido como um branch de recurso ou branch de tópico. 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 "Sobre 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. Para obter mais informações, consulte "Permissões de acesso em GitHub."

Sobre o branch-padrão

Ao criar um repositório com conteúdo em your GitHub Enterprise Server instance, GitHub Enterprise Server cria o repositório com um único branch. Este primeiro branch no repositório é o branch-padrão. O branch-padrão é o branch que GitHub exibe quando alguém visita o seu repositório. O branch-padrão é também o branch inicial que o Git verifica localmente quando alguém clona o repositório. A menos que você especifique um branch diferente, o branch-padrão em um repositório é o branch de base para novos pull requests e commits de código.

By default, GitHub Enterprise Server names the default branch master in any new repository.

É possível alterar o branch-padrão para um repositório existente. For more information, see "Setting the default branch."

Trabalhando com branches

Quando estiver satisfeito com seu trabalho, você poderá abrir uma pull request para fazer merge das alterações do branch atual (o branch head) com outro branch (o branch base). Para obter mais informações, consulte "Sobre pull requests".

Depois que uma pull request tiver sido mesclada ou fechada, você poderá excluir o branch head, já que isso não é mais necessário. Você deve ter permissão de gravação no repositório para excluir branches. Não é possível excluir branches associados diretamente a pull requests abertas. Para obter mais informações, consulte "Excluindo e recuperando branches em uma pull request".

Se você excluir um branch de cabeçalho após o merge do seu pull request, o GitHub irá verificar se há quaisquer solicitações de pull no mesmo repositório que especificam o branch excluído como o branch base. O GitHub atualiza automaticamente quaisquer pull requests, alterando o branch base para o branch base do pull request mesclado. Os seguintes diagramas ilustram isso.

Aqui alguém criou um branch chamado feature1 a partir do branch mestre, e você então criou um branch chamado feature2 a partir do feature1. Existem pull requests abertas para ambos os branches. As setas indicam o branch base atual para cada pull request. Neste ponto, feature1 é o branch base para feature2. Se a pull request para feature2 for mesclada agora, o branch feature2 será mesclado no feature1.

botão-merge-pull-request

No próximo diagrama, alguém fez merge da pull request para feature1 no branch mestre , e eles excluíram o branch feature1. Como resultado, o GitHub redirecionou automaticamente a pull request para feature2 para que seu branch base seja agora mestre.

botão-merge-pull-request

Agora, quando você mescla a pull request feature2, ela será mesclada ao branch mestre.

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. For more information, see "About commit signature verification" and "About required commit signing."
  • Se você usar o editor de conflitos do GitHub para corrigir conflitos para uma pull request que você criou de um branch protegido, o GitHub ajuda você a criar um branch alternativo para o pull request, para que sua resolução de conflitos possa ser mesclada. Para obter mais informações, consulte "Resolvendo um conflito de merge no GitHub".

Leia mais

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.