Git trabalha com snapshots, não apenas com diferenças
Entenda o modelo mental do Git, como cada commit registra um estado do projeto e por que isso facilita navegar pelo histórico.
Um retrato do projeto
O Git trata cada commit como uma referência para o estado completo dos arquivos rastreados naquele momento. Quando um arquivo não mudou, o sistema pode reaproveitar internamente o conteúdo existente em vez de duplicá-lo.
Pensar em snapshots ajuda a entender por que é simples comparar versões, criar branches e voltar a um ponto anterior.
As três áreas principais
O diretório de trabalho contém o que você está editando. A área de preparação, ou index, reúne exatamente o que entrará no próximo commit. O repositório guarda os commits já criados.
Comandos como git status e git diff mostram a passagem das alterações entre essas áreas.
Commits são pontos ligados
Cada commit registra metadados, uma árvore de arquivos e a referência ao commit anterior, salvo casos especiais. Esse encadeamento forma o histórico que branches e tags apontam.
Um branch é, essencialmente, um nome móvel para o commit mais recente daquela linha de trabalho.
Um modelo mental mais seguro
Antes de executar um comando, pergunte qual referência será movida, qual snapshot será criado e qual área será alterada. Essa leitura evita decorar receitas sem compreender o efeito.
Git fica menos misterioso quando o histórico é visto como uma sequência de estados identificáveis, não como uma pasta cheia de cópias.
Quer aplicar isso à sua empresa?
Explique o cenário e eu ajudo a transformar a necessidade em um projeto viável.
Conversar com Tadeu