Git Pie: A Arte Ancestral do Versionamento 🥧 Help

Conceitos Básicos de Versionamento

Versionamento de Código

Versionamento é um conceito muito simples e usado no dia a dia de forma que nem percebemos. Por exemplo: Estamos em um projeto onde temos dois desenvolvedores:

  • Stifler

  • Jim

Esses dois desenvolvedores estão fazendo o "Milfs Go" uma especie revolucionaria e inovadora, além do tempo sendo um app para acharem a "milfs".

Controle de Versão

Versionamento é o ato de manipular versões, agora o Controle de Versão é um sistema que vai registrar as mudanças tanto num arquivo como em um projeto gigante ao longo do tempo.

Tipos de Controle de Versão

  1. Local

    • Mantém as versões apenas na sua máquina

    • Simples mas limitado

    • Exemplo: copiar e renomear arquivos

  2. Centralizado

    • Um servidor central guarda todas as versões

    • Todos se conectam a este servidor

    • Exemplo: SVN

  3. Distribuído

    • Cada desenvolvedor tem uma cópia completa

    • Trabalho offline possível

    • Exemplo: Git

Importância

Talvez agora você levante uma questão de o porque aprender "este trem" - como diria um amigo mineiro. Logo, a resposta é simples: esse tipo de ferramenta é essencial para o desenvolvimento já que nos entrega um poder de não somente trabalhar em conjunto de forma assíncrona e sem medo de acabar perdendo o que já foi feito.

Benefícios do Controle de Versão

  1. Histórico Completo

    • Rastreamento de todas as mudanças

    • Quem fez o quê e quando

    • Possibilidade de reverter alterações

  2. Trabalho em Equipe

    • Múltiplos desenvolvedores

    • Desenvolvimento paralelo

    • Resolução de conflitos

  3. Backup

    • Cópia segura do código

    • Recuperação de desastres

    • Múltiplas cópias distribuídas

Fluxo Básico

  1. Modificação

    • Alteração nos arquivos

    • Criação de novos arquivos

    • Exclusão de arquivos

  2. Stage

    • Preparação das mudanças

    • Seleção do que será versionado

    • Organização das alterações

  3. Commit

    • Confirmação das mudanças

    • Criação do ponto de versão

    • Registro no histórico

Boas Práticas

  1. Commits Frequentes

    • Mudanças pequenas e focadas

    • Mais fácil de entender e reverter

    • Melhor rastreabilidade

  2. Mensagens Claras

    • Descreva o que foi alterado

    • Seja conciso mas informativo

    • Use tempo verbal consistente

  3. Branches Organizados

    • Separe features em branches

    • Mantenha o main/master estável

    • Merge apenas código testado

Próximos Passos

Agora que você entende os conceitos básicos, está pronto para:

  • Aprender comandos específicos do Git

  • Entender branches e merges

  • Trabalhar com repositórios remotos

Próximo Capítulo: Git Básico

21 abril 2025