Compreendendo o comando GIT Branch
- #Git
Nos nossos dias atuais, é impossível pensar em programar sem a utilização de um sistema de controle de versão, como por um exemplo o Git. Imaginar que antes da existência destes sistemas era necessário, um programador aguardar a seu momento oportuno de uso, sabendo que o outro estava fazendo as suas alterações, ou até mesmo depois de terminar tinha que comunicar as suas alterações, pois corria o risco de alguém alterar a sua aplicação e gerar assim, um impacto no sistema que já estava pronto.
Com o surgimento dos versionadores de códigos vários problemas como esses começaram a ser sanados. Porém, antes do surgimento do Git, trabalhar com diversas Branches era um desafio pois era caro para os versionadores da época e se tratava de um algoritmo muito difícil de ser resolvido até que, surgiu um rapaz chamado Linus Torvald que conseguiu resolver este desafio e revolucionou mais uma vez o mundo da programação. Então surgiu o comando Git Branch que daria um fim a esta dor de cabeça.
Trabalhar com Branch no Git, é muito mais leve do que em outros versionadores e por isso se torna, infinitamente vantajoso e traz uma série de benefícios para quem programa. Mas a pergunta mais corriqueira é feita pelos leigos, o que é Branch e o porquê ela é tão importante? Branch é uma ramificação do seu projeto, quando você cria uma Branch e passa o seu código para ela, o seu projeto fica encapsulado, ou seja, é como se ele clonasse o seu projeto dando assim liberdade para você desenvolvê-lo com mais tranquilidade, pois nada que venha a ser alterado por você refletirá no projeto principal. E nem nas alterações que estão sendo feitas pelos seus colegas.
Suas alterações só farão parte do projeto principal quando ele estiver pronto e todas as suas alterações estiverem, plenamente testadas e prontas para serem implementadas.
Aqui segue um exemplo de como usá-lo:
git branch <novabranch>
Onde "novabranch" é o nome criado no exemplo.
Outros comandos podem ser usados também como:
git branch -d <branch>
Este comando permite com que seja excluída uma ramificação. Esta é uma operação “segura” em que o Git impede que você exclua a ramificação se tiver mudanças não mescladas.
Este é o comando a ser usado se você quiser excluir de modo permanente todas as confirmações associadas a uma linha particular de desenvolvimento. Mesmo que ainda as alterações não tenham sido mescladas.
git branch -D <branch>
Este comando renomeia a ramificação atual:
git branch -m <branch>
Este comando é responsável por listar todas as ramificações remotas desde que estejam vinculadas ao seu repositório
git branch -a
É importante salientar, que não basta dar apenas o comando "git branch" pois este comando cria ramificações, mas para levarmos o nosso projeto para dentro da mesma, é preciso usar o comando “git checkout” e o nome da Branch criada. E para mesclarmos as nossas alterações com o projeto principal, usamos:
git merge
Ressalta-se que o uso deste comando sendo utilizado de forma correta poderá trazer muitas vantagens como já foi citado anteriormente, assim como um mau gerenciamento do repositório, pode gerar perdas milionárias como experimentou na pele a empresa KNIGHT CAPITAL que perdeu cerca de 440.000.000 de dólares para cobrir os danos sofridos por um mau uso de versionamento de código.
Conclusão
Comparadas a outros VCSs, as operações de ramificação do Git são baratas e usadas com frequência. Essa flexibilidade permite uma poderosa personalização do fluxo de trabalho do Git. Dando assim, uma maior produtividade para os programadores e mitigando os impactos em produção e de riscos de um programador interferir na versão do outro, ou seja, muitos são os benefícios.
Referências:
https://git-scm.com/docs/git-branch/pt_BR
https://www.henricodolfing.com/2019/06/project-failure-case-study-knight-capital.html