O conceito de ramificação no Git
A ferramenta mais útil no Git são as ramificações (branches). Elas permitem trabalhar em paralelo no projeto, alternando conforme necessário entre os ramos, resolvendo várias tarefas. Vamos ver com um exemplo qual é a essência dos ramos e como eles são usados na prática.
Então, como você já sabe, por padrão nós
temos um ramo - master.
Geralmente, este ramo é considerado o principal.
No entanto, é possível criar
ramos adicionais, geralmente para resolver tarefas
específicas do projeto.
Ao criar um novo ramo, ele terá cópias dos arquivos do nosso projeto. Vamos escrever código neles e depois, quando a tarefa estiver concluída, mesclaremos o código do novo ramo com o nosso ramo principal. Desta forma, é possível trabalhar em paralelo em vários problemas, de modo que eles não interfiram uns com os outros. E, à medida que estiverem prontos, enviar os problemas resolvidos para produção (ou seja, para uso pelos usuários).
Além disso, ao alternar entre ramos, o Git irá alterar automaticamente os arquivos na pasta do seu projeto. Ou seja, alguns arquivos desaparecerão e outros aparecerão. Os textos dos arquivos também mudarão, se forem diferentes de um ramo para outro. Este é um ponto importante, mas os iniciantes nem sempre o entendem. Portanto, mais uma vez: quando você mudar de ramo no terminal, seus arquivos e os textos neles mudarão de acordo com o ramo. Fisicamente! Sozinhos! Diretamente no editor aberto, o texto do seu arquivo mudará para outro! Isso é muito legal e conveniente.
Vejamos com um exemplo como isso é feito na prática.
Suponha que você tenha um determinado projeto.
No ramo master está
sua versão atual em produção, que
é usada pelos usuários.
Suponha que você esteja desenvolvendo uma nova
funcionalidade. Para isso, você criou um novo
ramo feature. Nele, você escreve
o código, implementando a tarefa desejada.
De repente, o telefone toca e seu chefe
diz que um bug sério foi encontrado no projeto
e precisa ser corrigido urgentemente.
Para isso, você cria um ramo fix,
copiando para ele todo o código do projeto
do ramo master. Você escreve
o código que corrige o bug e, em seguida,
mescla esse código no ramo
principal master e envia
esse código para produção.
Em seguida, alterna para o ramo feature
e continua tranquilamente o trabalho
em sua funcionalidade. Quando ela estiver
concluída, você a mescla
no ramo principal master.
Nas próximas lições, continuaremos a nos familiarizar com os ramos na prática.