Ambiente de Desenvolvimento
Imagine a seguinte cena: um grupo de 4 alunos precisa entregar um projeto de software para uma disciplina da faculdade. Cada aluno ficou responsável por uma parte do código. O prazo está apertado. Eles combinaram de trocar as partes pelo WhatsApp.
O primeiro aluno manda o arquivo projeto.zip. O segundo baixa, faz suas
alterações, e manda de volta projeto_v2.zip. O terceiro, que não viu a
mensagem do segundo, fez suas alterações na versão do primeiro e manda
projeto_atualizado.zip. Agora ninguém sabe qual é a versão mais recente. O
quarto aluno tenta juntar tudo à mão, num domingo à noite, e estraga uma função
que já estava funcionando. Resultado: projeto_final_v3_AGORA_VAI.zip.
Se você já passou por algo parecido, sabe que o problema não é competência. É a falta de uma ferramenta adequada para coordenar o trabalho de várias pessoas sobre os mesmos arquivos. Essa ferramenta existe e se chama controle de versão.
Esse capítulo apresenta os conceitos e práticas de controle de versão utilizando o Git, a ferramenta mais utilizada no mundo para esse fim. Depois, veremos como organizar um projeto com vários componentes (backend, frontend web, frontend mobile) dentro de um único repositório.