EduTech
← Git e GitHub

O modelo do Git

As três áreas e o ciclo básico

Por que existe uma etapa entre editar e registrar no histórico.

14 min5 itens de prática

O que é?

O Git trabalha com três áreas: o diretório de trabalho, onde você edita; a área de preparação, onde você escolhe o que entra no próximo commit; e o repositório, onde ficam os commits. Um arquivo caminha por essas três, e entender esse fluxo elimina a maior parte da confusão inicial.

Por que existe?

A área de preparação é a parte que parece burocracia desnecessária — por que não commitar tudo direto?

Porque frequentemente você faz mais de uma coisa antes de commitar. Corrigiu um defeito, ajustou um texto e começou uma funcionalidade nova. Commitar tudo junto cria um commit que "corrige o login, atualiza o rodapé e inicia o relatório" — impossível de reverter parcialmente, difícil de revisar e inútil para investigar quando um defeito apareceu.

A área de preparação permite montar commits coerentes: escolher só as alterações relacionadas, commitar, e depois montar o próximo. É a diferença entre um histórico que conta uma história e um que registra a passagem do tempo.

No mundo real

A área de preparação é a bancada onde você separa as compras antes de guardar. Você tirou tudo do carrinho (diretório de trabalho), separa o que vai para a geladeira (preparação) e guarda (commit). Depois separa o que vai para o armário e guarda de novo.

Sem a bancada, você empurraria tudo de uma vez para o mesmo lugar — funciona, e depois ninguém acha nada.

Onde isso é usado

Commits pequenos e coerentes são a base de todo o resto: revisão de código fica viável, reverter uma mudança específica é possível, e investigar quando um defeito surgiu funciona. Times que commitam "o dia inteiro de uma vez" perdem essas três capacidades — e descobrem isso no pior momento.

O que aprender depois

Com o ciclo dominado, entra a peça que dá poder ao Git: branches. E a chave para entendê-las é descobrir o que uma branch realmente é.

Agora pratique

5 itens. Ler não fixa; responder fixa.