Skip to main content

Esta versão do GitHub Enterprise será descontinuada em 2023-01-18. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Sobre ramificações

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.

Sobre ramificações

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, confira "Como criar e excluir branches no seu repositório".

Também é possível usar um branch para publicar um site do GitHub Pages. Para obter mais informações, confira "Sobre o 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, confira "Permissões de acesso do GitHub".

Sobre o branch-padrão

When you create a repository with content on your GitHub Enterprise Server instance, GitHub Enterprise Server creates the repository with a single branch. This first branch in the repository is the default branch. 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.

Por padrão, o GitHub Enterprise Server dá ao branch padrão o nome main em qualquer novo repositório.

É possível alterar o branch-padrão para um repositório existente. Para obter mais informações, confira "Como alterar o branch padrão".

Você pode definir o nome do branch-padrão para novos repositórios. Para obter mais informações, confira "Como gerenciar o branch padrão para seus repositórios", "Como gerenciar o nome de branch padrão para repositórios na sua organização" e "Como impor políticas de gerenciamento de repositório na sua empresa".

Trabalhando com branches

Quando ficar satisfeito com seu trabalho, abra uma solicitação de pull para mesclar as alterações no branch atual (o branch principal) em outro branch (o branch base). Para obter mais informações, confira "Sobre as solicitações de pull".

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, confira "Como excluir e restaurar branches em uma solicitação de pull"

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 diagramas a seguir ilustram isso.

Aqui, alguém criou um branch chamado feature1 com base no branch main, e você criou um branch chamado feature2com base no 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 de feature2. Se a solicitação de pull de feature2 for mesclada agora, o branch feature2 será mesclado em feature1.

merge-pull-request-button

No próximo diagrama, alguém mesclou a solicitação de pull de feature1 no branch main e excluiu o branch feature1. Como resultado, o GitHub redirecionou automaticamente a solicitação de pull de feature2, ou seja, o branch base agora é main.

merge-pull-request-button

Agora, quando você mesclar a solicitação de pull feature2, ela será mesclada no branch main.

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 um administrador de repositório, poderá mesclar solicitações de pull em branches com proteções de branch habilitadas mesmo que a solicitação de pull não atenda aos requisitos, a menos que as proteções de branch tenham sido definidas como "Incluir administradores".

Para ver se a sua solicitação de pull pode ser mesclada, veja isso na caixa de mesclagem na parte inferior da guia Conversa da solicitação de pull. Para obter mais informações, confira "Sobre os 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, confira "Sobre as 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, confira "Como mesclar uma solicitação de pull".
  • 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, confira "Sobre os proprietários de 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, confira "Sobre a verificação da assinatura de commit" e "Sobre os branches protegidos".
  • Se você usar o editor de conflitos do GitHubpara corrigir conflitos para uma solicitação de pull request que você criou a partir de um branch protegido, GitHub ajudará você a criar um branch alternativo para a solicitação de pull request, para que a resolução dos conflitos possa ser mesclada. Para obter mais informações, confira "Como resolver um conflito de mesclagem no GitHub".

Leitura adicional