Neste material nós vamos aprender sobre uma das ferramentas mais famosas operações do Git e GitHub, que consegue criar “universos alternativos” de uma determinada linha do tempo.
Estamos nos referindo as Branchs, e elas atuam como ramificações do código principal para que o desenvolvedor consiga fazer alterações sem a necessidade de alterar a branch principal (“Linha do Tempo Atual”)
Para entendermos melhor como funciona as Branchs, eu vou contar a história do “Strongest Man” um super-herói que deixou a fama subir a sua cabeça, e tomou caminhos errados durante a vida.
Momento 1
Tudo começou quando nosso querido herói trabalhava numa construtora, e por obra do acaso, acabou descobrindo sua enorme força descomunal, quando resolveu erguer árvores e equipamentos de escavação com suas próprias mãos.
Momento 2
Certo dia, em sua volta para casa, ele acabou se deparando com uma cena chocante, assaltantes estavam invadindo um banco próximo à rua onde ele morava. E foi nesse momento que nosso herói decidiu intervir e conter os assaltantes.
Momento 3
Depois desse dia, nosso herói saiu da construtora por conta própria e decidiu combater o crime na cidade, assumindo o nome de “Strongest Man”.
Momento 4
Anos depois, com muita fama, dinheiro e poder, ele começou a agir de forma mesquinha, a cobrar impostos da população, e até mesmo fazer parceria com criminosos para que ele os prendesse e soltasse logo em seguida, ou seja, tudo se tornou um grande teatro.
Momento 5
Algum tempo depois, algo tocou o coração de nosso herói “Strongest Man”, e ele se deu conta daquilo que ele se transformou, e com muita vergonha de si mesmo decidiu desaparecer do mapa, e nunca mais foi visto.
Infelizmente, nosso herói foi tomado pelo orgulho e pela avareza, o que fez tomar caminhos errados durante a vida.
Mas, e se ele pudesse ter acesso à joia das branch do Enfermeiro Normal (Pegou a referência? rs), voltar no tempo e arrumar tudo?
Ou seja, e se ele pudesse voltar desde o “Momento 3” e fazer com que o “Momento 4 e 5” fossem completamente diferentes?
Ora, isso é totalmente possível com a joia da Branch!
Com ela em mãos, nosso herói decidiu voltar no tempo e fazer tudo diferente:
Momento 4
Anos depois, com muita fama, dinheiro e poder, ele começou a ser uma pessoa mais humilde e inteligente, doando parte do seu dinheiro para instituições de caridade, e ajudando os mais pobres a terem oportunidades na vida.
Momento 5
Algum tempo depois, ele se tornou o homem exemplo, um tipo de pessoa a ser seguida, e com isso, ele pode se aposentar e dar oportunidades aos outros heróis que estavam surgindo.
Note que cada momento que foi criado acima, no universo do GIT é considerado um commit, ou seja, uma foto de um determinado estado do projeto que está sendo controlado.
E a linha do tempo do nosso herói é considerado uma Branch, cujo significado é ramo ou braço.
É como se fosse uma linha do tempo paralela, independente da linha do tempo principal.