Desde que sistemas de controle de versão como o Git se tornaram amplamente conhecidos e usados, os processos de desenvolvimento modernos mudaram radicalmente. Aqui estão algumas razões pelas quais o Git tem o poder de melhorar seu fluxo de trabalho de desenvolvimento de sites profissionais.
Git incentiva a modularização
Mesmo nos menores projetos de desenvolvimento, os desenvolvedores geralmente precisam trabalhar em vários componentes em paralelo.
Recurso X , bug nº 102 , uma nova IU para um formulário de inscrição etc. Entre muitos outros, aqui estão alguns dos principais problemas com projetos que não são controlados por versão:
- As dependências do projeto serão difíceis de gerenciar. Os membros da equipe devem determinar quais mudanças afetam quais componentes.
- O código inacabado e experimental será misturado com o código pronto para produção. Sem controle de versão, há uma grande chance de que um pedaço de código instável seja implantado em um ambiente de produção.
Imagine esses cenários. Seu cliente lhe diz que não quer mais o recurso X.
Ou se você descobrir que o recurso Y não pode ser implementado? Como você remove o código com segurança da sua base de código? Usar ramificações é a solução para esses problemas comuns de desenvolvimento.
Embora o Git não tenha sido o sistema de controle de versão (VCS) que introduziu o conceito de ramificação, é o primeiro de seu tipo que o torna fácil de usar.
Git incentiva a criatividade e a experimentação
A ramificação do Git melhorará a qualidade e a produtividade do seu código. Facilita a criatividade e a experimentação, eliminando o medo de que a versão atual do projeto seja afetada enquanto você está experimentando ideias, proporcionando um ambiente onde você pode explorar e desenvolver com confiança os recursos futuros do seu projeto.
Com o Git, você pode até criar várias ramificações que abordam um determinado problema de maneiras diferentes, testar cada uma delas com sua ramificação master (a versão mais atual do seu projeto) e depois escolher a melhor opção.
Git permite que você desfaça seus erros
No Git, você pode desfazer quase tudo. Ser capaz de desfazer as coisas dá à sua equipe a coragem de experimentar ideias e conceitos sem o risco de quebrar coisas, o que, por sua vez, promove uma cultura de inovação.
Git deixa seu progresso claro
Um commit no Git refere-se ao ato de registrar as alterações que você fez em seu código-fonte. Quando usado corretamente, o Git facilita a criação de commits muito granulares. Você pode ver quais mudanças ocorreram até o nível microscópico: Git lhe dirá quais caracteres e linhas em seu código fonte foram alterados.
Se você quiser comparar duas versões de um arquivo ou a diferença entre dois de seus commits, você pode emitir o diffcomando do Git, que destacará as diferenças entre eles. Uma observação lateral ao usar commits: Como uma boa política de controle de versão, recomendo que cada commit contenha apenas alterações que pertençam a um único tópico.
Por exemplo, se você estiver corrigindo um bug específico – vamos chamá-lo de bug #200 – que requer várias alterações no código-fonte em vários arquivos, todas essas alterações devem estar em um commit para que você possa rastrear facilmente as alterações em seu projeto relacionadas a aquele erro.
Dessa forma, você pode documentar que “commit X fix bug #200” . Um benefício colateral dessa política de confirmação é que, quando você encontrar outro bug semelhante ao bug #200 em algum outro lugar do seu projeto daqui a alguns meses, poderá revisar como resolveu o primeiro bug. Misturar tópicos diferentes em um commit torna difícil ver quais coisas foram adicionadas ou resolvidas.
Além disso, os commits de vários tópicos tornam mais difícil reverter para uma versão anterior se você achar necessário fazê-lo. Imagine um commit que contém alterações para o recurso A e o recurso B . Se você descobrir mais tarde que introduziu um vazamento de segurança grave com o recurso B , terá que reverter o código para ambos os tópicos apenas para se livrar do problema.
Você pode trabalhar offline
Muitas empresas subestimam os benefícios que podem ser obtidos se seus desenvolvedores puderem trabalhar offline. Ser capaz de codificar em seu laptop sem ter que se conectar aos servidores da sua empresa não é apenas poder trabalhar durante o trajeto ou em casa (o que muitas empresas não permitem devido a restrições de segurança). Mais importante, ser capaz de trabalhar offline torna você mais seguro como uma equipe: enquanto com um VCS como Subversion ou CVS, um desenvolvedor não pode continuar seu trabalho quando um servidor central cai, isso não é um problema com o Git.
No Git, os desenvolvedores podem realizar tudo em seus computadores pessoais, tornando-os independentes de possíveis paralisações da infraestrutura.