Tiago Aguiar apresenta, em um programa solo, os dois conceitos que sustentam boa parte do dia a dia de qualquer desenvolvedor: versionamento e Git. A proposta é simples e direta — explicar por que versionar código não é um luxo de time grande, mas uma prática que vale desde o primeiro projeto de estudo.
O ponto de partida é a ideia central de versionamento: manter o registro de todas as alterações feitas em um arquivo, do primeiro rascunho até a versão mais recente. Tiago usa o currículo como analogia — ao longo de anos de ajustes, é fácil perder de vista o que mudou e por quê, a menos que exista um controle explícito dessas versões. Fora do universo do código, esse controle costuma ser manual: cada alteração vira um novo arquivo com um sufixo de versão. Funciona em pequena escala, mas o raciocínio de fundo — preservar o histórico — é o mesmo que justifica o uso de uma ferramenta dedicada quando o volume de mudanças cresce.
"Se você tivesse versionado esse seu currículo, você saberia todas as versões, todas as alterações que você fez ao longo de todos esses anos." por Tiago Aguiar
A prática de versionar trocando o nome do arquivo (v1, v2, v3...) é descrita como inviável assim que se fala de desenvolvimento de software. O motivo é a escala: times grandes precisam de agilidade e de riqueza de informação sobre cada mudança — quem alterou o quê, quando e por quê — que esse método manual simplesmente não oferece. Tiago é enfático ao dizer que essa abordagem rudimentar já foi usada no passado, mas não se sustenta nos dias atuais diante da complexidade do trabalho em equipe.
"Se tratando de código, essa técnica é totalmente inviável." por Tiago Aguiar
O diferencial do Git em relação a outras ferramentas de versionamento é apontado com precisão: o desenvolvimento descentralizado. Antes dele, a maioria das soluções exigia conexão constante com um servidor central — sem internet, sem trabalho. O Git muda essa lógica: o desenvolvedor faz uma cópia local do repositório, trabalha offline com total liberdade e, só depois, sincroniza as alterações de volta com o repositório remoto. Essa flexibilidade é apresentada como a razão prática por trás da adoção maciça da ferramenta.
"A partir do momento que você fez uma cópia do teu repositório (...) você consegue trabalhar localmente e depois que você terminar, devolver essas alterações para o repositório remoto. É essa agilidade que você ganha no desenvolvimento que faz com que o Git se torne uma ferramenta tão atrativa." por Tiago Aguiar
Uma dúvida comum entre quem está começando é tratada de forma direta: Git é o que efetivamente versiona o código; GitHub usa o Git por baixo, mas é uma plataforma construída para equipes trabalharem em conjunto sobre esse versionamento. A distinção importa porque explica por que existem alternativas ao GitHub (GitLab, Bitbucket, entre outras) que também rodam sobre Git — a ferramenta de versionamento é uma coisa, o serviço que hospeda e organiza o trabalho colaborativo é outra.
"O Git é o que faz o versionamento do teu código. E o GitHub, que usa o Git também para versionar o teu código, porém ele é uma plataforma (...) para equipes trabalharem." por Tiago Aguiar
Além do uso técnico, versionar em uma plataforma pública como o GitHub cumpre duas funções que vão além do código em si. A primeira é mostrar ao mercado a evolução do desenvolvedor — muitas empresas avaliam candidatos observando o histórico de commits e os projetos de estudo publicados. A segunda é servir como documentação pessoal: tarefas que não se repetem no dia a dia (como configurar autenticação em uma API) tendem a ser esquecidas, e ter esse código versionado e acessível funciona como um material de consulta confiável, porque foi testado e validado pelo próprio autor.
"Isso serve como uma documentação para o você do futuro." por Tiago Aguiar
"Você trabalha com grandes times, precisa ter uma agilidade, uma riqueza de informação que é impossível [sem versionar]. Você precisa versionar." por Tiago Aguiar
Tiago Aguiar