O pai ta on!!
Abordamos diversos conceitos e práticas
com o git, desde iniciar um projeto até fazer os pull para um repositório
central (remoto). Hoje iremos focar em uma das principais funções do git:
ramificações, ou branches, que é inclusive o que inspira o logo da
ferramenta.
Branches
Branches, é uma característica do git que
permite criar ramificações do projeto principal, e deixá-la isolada.
Isso acaba dando um poder sem igual para
o git, uma vez que se pode ter ramificações para cara área do projeto. Poderíamos
por exemplo, ter o projeto “blog.darede.com.br”, e ter uma ramificação para conteúdo,
onde os analistas fazem o seu commit com os artigos, e uma ramificação
de frontend, onde os web-design fazem as alterações do layout da página.
O grande objetivo das branches é
justamente dar a capacidade de trabalharmos em equipes segmentadas, sem uma
atrapalhar a outra, e assim ganhar mais poder com entregas menores e mais
rápidas.
Lembre-se sempre que gerar ramificações é simples, mas gerenciá-las pode ser muito complexo, então estabeleça um padrão para criação e o siga com definições claras do porquê está criando e os requisitos para voltar para a ramificação principal. Para os fãs de Marvel, imagine isso como as linhas de universo que aparecem na série Loki, ou seja, se algo sai do controle o projeto em si pode colapsar (nerd alert).
Para criar uma ramificação utilizamos o
comando:
git
branch <nome_da_branch>
Obs: Desde Agosto/2020 tanto o gitlab quando o github já não trabalham mais com o nome ‘master’ e sim com ‘main’, caso você tenha instalado o git e for fazer o o clone de um projeto pode ser necessário alterar o nome da branch principal. Isso pode ser feito com o comando:
git
branch -m master main
Git checkout
Ao passo que o branch cria uma nova
ramificação, o checkout serve para alternar entre arquivos, commits e
ramificações. Para essa etapa vamos focar na utilidade dele em ramificações,
onde basicamente ele é capaz de navegar entre as ramificações que criamos com o
git branch.
Na prática ele faz isso ‘movendo’ o HEAD
(ponteiro) para a ramificação escolhida (por padrão), ou utilizando o HEAD de
uma ramificação existe.
Talvez isso tenha ficado bem confuso, por
isso abaixo mostramos na prática como funciona com a utilização de uma
ferramenta chamada: Git Visualizing (https://git-school.github.io/visualizing-git/#free)
, nela vamos fazer os seguinte:
1.
criar uma branch chamada
conteudo;
2.
dar 2(dois) commits;
3.
voltar para a branch master;
4.
dar mais 2(dois) commits;
5.
criar uma branch de artigos
com o HEAD da branch de conteudo;
6.
dar mais 2(dois) commits;
7.
voltar para branch de
conteudo;
8.
dar mais 2(dois) commits;
O que vamos simular é justamente poder
ter áreas de atuação paralelas, e uma área que pode ser ‘filha’ de outra e
continuar o seu trabalho (nesse caso a área de artigos continuou, e herdou, os
commits da área de conteúdo).
Perceba que quanto efetuamos o git
checkout o HEAD vai alterando de lugar:
That’s all folks! Be Happy!!!
thiago.marques@darede.com.br
Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.