O que são branches no Git?

Vamos supor que você esteja criando um site ou sistema, e você terminou esse projeto depois de 2 meses trabalhando duro nele.

Mas você percebeu que precisa melhorar algumas coisas, mas o site ou sistema ficou tão bom que não quer arriscar perder o ótimo trabalho que fez, ai entram as branches.

Agora pensa em outro cenário, onde você terminou o site ou sistema, mas o cliente que pediu para você desenvolver pediu uma outra funcionalidade, e você começou a codar, mas você sabe como são alguns clientes, e esse seu é daqueles que pedem alterações rápidas e já querem que envie para produção.

E como esse cliente não pode negar a fama de cliente chato, pediu uma alteração rápida e já quer que suba para produção, mas você já começou a desenvolver aquela outra funcionalidade que ele tinha pedido antes, e se fizer essa alteração que ele está pedindo agora vai atrapalhar toda a nova funcionalidade, já pensou na dor de cabeça?.Ai que entram as branches novamente.

Pense no seu projeto como uma linha do tempo, quando você digita o git init no terminal a sua linha do tempo começa, e seu projeto é a linha do tempo atual, que o Git dá o nome de master.

Agora quando você quer criar uma nova funcionalidade você precisa criar uma nova linha do tempo, com o mesmo projeto, mas sem mexer com a linha do tempo principal(master).

Criado essa nova linha do tempo(branch), agora você pode mexer e remexer a vontade nessa linha do tempo(branch) sem mudar em nada a linha do tempo principal(branch master).

Se o cliente pediu uma alteração ou uma nova funcionalidade é só criar uma linha do tempo nova e pronto, você faz o que ele pediu e depois junta essa alteração com a linha do tempo principal com um merge(veremos sobre merge em um futuro post).

Veja essa imagem abaixo onde tudo que disse acima é ilustrado.

A linha azul é a linha do tempo principal, o branch chamado master, que já vem por padrão quando iniciamos o git com o comando git init.

As linhas do tempo roxa e verde são as features que criarei para o projeto, e quando finalizados mesclarei(merge) coma linha do tempo principal(branch master).

Só para deixar claro, cada bolinha das linhas do tempo da figura acima representam um commit.

Olhando para essa imagem, eu posso dizer que se eu falar para você pensar nela como uma planta com ramificações, onde tem o ramo principal de onde todos os outros saem, você consegue imaginar isso ?.Estou dizendo isso por que branch em português significa ramos ou ramificações, assim fica mais fácil de pensar nas branches né ?

No próximo post mostrarei como você cria, muda e deleta as branches.

E calma, com os próximos posts tudo vai ficar muito mais claro, essa foi só uma introdução bem teórica do assunto.


🔥Canal no YouTube: Ir para o canal no YouTube

About the Author

Alexandre Eduardo Cardoso
Alexandre Eduardo Cardoso

Meu nome é Alexandre Cardoso e tenho 41 anos. Sou programador desde 2008, quando comecei a estudar e me especializar em PHP e Javascript. Já em 2011, dei minhas primeiras aulas de programação, e não consegui mais parar desde então. Ensinar é minha missão neste mundo!

0 Comments

Leave a comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *