Skip to main content

Branches

Use branches no GitHub para isolar o trabalho de desenvolvimento, gerenciar branches padrão e colaborar efetivamente usando solicitações de pull e proteções de ramificação.

Sobre ramificações

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

Você sempre cria um ramo a partir de um ramo existente. Normalmente, você pode criar um novo branch a partir do branch-padrão do seu repositório. Você poderá então trabalhar nesse novo ramo, isolado das mudanças que outras pessoas estão fazendo no repositório.

Uma ramificação criada para criar um recurso geralmente é chamada de branch de recurso ou branch de tópico. Consulte Managing branches within your repository.

Você também pode usar uma ramificação para publicar um GitHub Pages site. Consulte O que é 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. Consulte Permissões de acesso no GitHub.

Sobre o branch-padrão

Ao criar um repositório com conteúdo no GitHub, o GitHub cria o repositório com um só branch. Este primeiro branch no repositório é o branch-padrão. O branch padrão é o branch que GitHub é exibido quando qualquer pessoa visita 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, GitHub nomeia o branch main padrão em qualquer novo repositório.

É possível alterar o branch-padrão para um repositório existente. Para saber mais, confira Alterar o ramo padrão.

Você pode definir o nome da ramificação padrão para novos repositórios. Para saber mais, confira Gerenciar o nome do ramo padrão para seus repositórios, Gerenciar o nome da ramificação padrão para repositórios na sua organização e Aplicar as políticas de gerenciamento do repositório na sua empresa.

Trabalhar com ramificações protegidas

Os branches protegidos ajudam os mantenedores a impor regras em branches importantes. Um branch protegido pode bloquear pushes de força ou exclusão, exigir verificações de status, exigir revisões, exigir aprovação do proprietário do código ou exigir confirmações assinadas antes que as alterações possam mesclar.

Essas proteções ajudam as equipes a manter as ramificações importantes estáveis e deixar as expectativas claras antes que uma solicitação de pull seja mesclada. Para ver se sua solicitação de pull pode ser mesclada, marque a caixa de mesclagem na parte inferior da guia Conversa da solicitação de pull. Consulte Sobre branches protegidos.

Observação

Se você for um administrador de repositório, poderá mesclar pull requests em branches com proteções de branch ativadas mesmo que a pull request não atenda aos requisitos, a menos que as proteções de branch tenham sido definidas como "Include administrators".

Comparando branches em solicitações de pull

Uma solicitação de pull compara as alterações propostas no branch principal com o branch base. Ao criar sua solicitação de pull, você pode alterar o branch base com o qual está comparando as alterações. A guia Arquivos alterados mostra o que alteraria se a solicitação de pull fosse mesclada.

As exibições dif ajudam os revisores a entender as alterações sem ler cada confirmação. Você pode exibir uma diferença unificada, uma diferença dividida, uma diferença rica ou uma diferença de origem; ignorar alterações no espaço em branco; ou filtre arquivos para se concentrar nas alterações mais relevantes.

Captura de tela da guia "Arquivos alterados" de um pull request. O menu "Visualização de Diferenças" está destacado em laranja escuro.

Os difisões poderão não ser exibidos se uma solicitação de pull exceder os limites de diferenciação do repositório ou se um arquivo estiver oculto por uma regra no arquivo .gitattributes do repositório. Confira Limites de repositório e Personalizando como os arquivos alterados aparecem no GitHub.

Comparações de diff do Git de três pontos e dois pontos

O git diff comando dá suporte a dois métodos de comparação. Solicitações pull ao GitHub mostrar uma diferença de três pontos.

MétodoCommandO que ele compara
Três pontosgit diff A...BA confirmação comum mais recente de ambos os branches (base de mesclagem) e a versão mais recente do branch de tópicos.
Dois-pontogit diff A..BO estado mais recente do branch base (por exemplo) maine a versão mais recente do branch de tópicos.

Um diff de dois pontos compara duas referências de committish do Git, como SHAs ou IDs de objeto (OIDs, Object IDs), diretamente entre si. On GitHub, the Git committish references in a two-dot diff comparison must be pushed to the same repository or its forks.

Consulte as opções de comparação do Git no site de livros do Git Pro .

Sobre a comparação de três pontos em GitHub

Como a comparação de três pontos usa a base de mesclagem, ela se concentra em "o que uma solicitação de pull apresenta".

Quando você usa uma comparação de dois pontos, ela muda quando o branch base é atualizado, mesmo que você não tenha feito nenhuma alteração no branch do tópico. Uma comparação de dois ponto também se concentra no branch base, o que pode tornar as alterações introduzidas pelo branch de tópicos mais difíceis de entender.

Por outro lado, uma comparação de três pontos continua mostrando as alterações introduzidas pelo branch de tópicos desde que os branches divergiram.

Mesclar com frequência

Para evitar confusão, mescle o branch base (por exemplo) mainem seu branch de tópico com frequência. Quando você mescla o branch base, as diferenças mostradas por comparações de dois pontos e três pontos são as mesmas. Recomendamos mesclar um pull request o mais rápido possível. Isso incentiva os colaboradores a tornar as solicitações de pull menores, o que recomendamos em geral.

Leitura adicional