Branching com Git e GitHub

Branching: O que são branches?

No mundo do desenvolvimento de software, a capacidade de gerenciar diferentes versões de código-fonte é essencial. O Git, um dos sistemas de controle de versão distribuído mais populares, permite que os desenvolvedores colaborem de maneira eficaz e segura, e um dos conceitos fundamentais para essa colaboração é o de branches (ramificações).

Um branch no Git é, essencialmente, um ponteiro móvel para um dos commits. Quando você cria um repositório Git, por padrão, ele vem com uma branch principal chamada master ou main. Cada vez que você faz um commit, o Git move automaticamente o ponteiro master para frente para o último commit. Mas o verdadeiro poder dos branches surge quando você começa a criar novos branches.

Por que usar branches?

Os branches são usados para desenvolver funcionalidades isoladamente umas das outras. O master é a branch "padrão" quando você cria um repositório. Use outros branches para desenvolvimento e depois mescle-os de volta ao branch principal quando estiverem prontos. Isso facilita o desenvolvimento paralelo entre os membros da equipe, pois cada um pode trabalhar em suas próprias funcionalidades sem interferir no trabalho dos outros, e também ajuda a manter o histórico do projeto organizado e limpo.

Criando branches

Criar um novo branch é um processo rápido e simples. O comando git branch <branch-name> cria um novo branch, mas não muda automaticamente para esse branch. Para mudar para o branch que você acabou de criar, você usaria o comando git checkout <branch-name>. O Git também oferece um atalho para criar e mudar para um novo branch em um único comando: git checkout -b <branch-name>.

Trabalhando com branches

Uma vez que um branch foi criado, você pode trabalhar nele como se fosse o branch principal. Você faz commits da mesma maneira, e o Git vai manter o histórico de commits separado para cada branch. Isso significa que você pode desenvolver uma funcionalidade no seu branch, enquanto outra pessoa pode estar trabalhando em outra coisa no branch principal ou em outro branch.

Mesclando branches

Quando uma funcionalidade está pronta para ser integrada ao branch principal, você pode usar o comando git merge <branch-name>. O Git tentará mesclar automaticamente as mudanças. Se não houver conflitos de merge, ou seja, se as mesmas partes dos arquivos não foram modificadas de maneiras diferentes nos dois branches, então o merge será feito automaticamente. No entanto, se houver conflitos, o Git vai parar e pedir para você resolver esses conflitos manualmente antes de completar o merge.

Conflitos de merge

Conflitos de merge acontecem quando duas pessoas mudaram a mesma parte de um arquivo de maneiras diferentes em dois branches distintos e o Git não consegue determinar qual versão manter. Quando isso acontece, o Git marca o arquivo como conflitante e interrompe o processo de merge. É responsabilidade do desenvolvedor resolver esses conflitos editando os arquivos e escolhendo quais mudanças manter. Após resolver os conflitos, você precisa adicionar os arquivos ao staging area com git add e então completar o merge com git commit.

Deletando branches

Após a mesclagem de um branch e a confirmação de que ele não é mais necessário, você pode querer deletá-lo para limpar seu repositório. Para deletar um branch local, você pode usar o comando git branch -d <branch-name>. Se o branch não foi mesclado e você ainda quer deletá-lo, você pode forçar a deleção com git branch -D <branch-name>. Para deletar um branch remoto, você usaria git push origin --delete <branch-name>.

Boas práticas de branching

Existem várias estratégias de branching que diferentes equipes podem adotar, mas algumas boas práticas são universais. Por exemplo, é uma boa ideia manter o branch principal o mais estável possível e fazer todo o desenvolvimento e testes em branches separados. Outra prática recomendada é nomear seus branches de maneira clara e significativa, para que seja fácil entender o propósito de cada branch só de olhar para o seu nome.

Integração com GitHub

O GitHub, uma plataforma de hospedagem de código-fonte e colaboração, utiliza o Git como seu sistema de controle de versão. O GitHub adiciona uma camada de funcionalidades ao Git, como pull requests, que são uma maneira de dizer à equipe que você completou um trabalho em um branch e que está pronto para ser revisado e possivelmente mesclado ao branch principal. O GitHub também oferece ferramentas para visualizar o histórico de commits em diferentes branches, comparar mudanças e revisar código antes de mesclar branches.

Conclusão

Branches são uma parte fundamental do trabalho com Git e GitHub. Eles permitem que os desenvolvedores trabalhem em isolamento, sem afetar o código principal, e facilitam a colaboração e revisão de código. Compreender como criar, usar e mesclar branches é essencial para qualquer desenvolvedor que queira usar o Git e o GitHub de maneira eficaz. A prática e a experiência vão ajudar a aprimorar suas habilidades de branching e a adotar as melhores práticas para o fluxo de trabalho da sua equipe.

Agora responda o exercício sobre o conteúdo:

Qual comando é usado para criar um novo branch no Git e qual é o procedimento subsequente para mudar para esse novo branch?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Criando e experimentando com branches

Próxima página do Ebook Gratuito:

15Criando e experimentando com branches

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto