1. Porque precisamos de controlo de versões
O problema real que o Git resolve, antes de veres um único comando.
Se já tentaste guardar versões de um documento à mão — projeto_final.docx, projeto_final_v2.docx, projeto_final_v2_REAL_final.docx — já sentiste o problema que o Git resolve. Sem uma ferramenta de controlo de versões, três coisas correm mal com o tempo:
- Perdes o histórico. Não sabes o que mudou entre versões, nem porquê, nem quando.
- Não consegues experimentar em segurança. Se quiseres testar uma ideia arriscada, ou fazes uma cópia manual da pasta toda, ou arriscas estragar o que já funcionava.
- Colaborar é um pesadelo. Duas pessoas a editar o mesmo ficheiro ao mesmo tempo, por email ou numa pasta partilhada, acaba quase sempre em versões perdidas ou sobrepostas.
O que o Git faz, em uma frase
O Git guarda, a cada "commit" que fazes, uma fotografia completa do estado do teu projeto — com uma mensagem a explicar o que mudou. Podes voltar a qualquer fotografia anterior, comparar duas fotografias, ou criar "ramos" (branches) onde experimentas ideias sem tocar na versão principal.
Git é diferente do GitHub
Isto confunde muita gente no início: o Git é o programa que corre no teu computador e guarda o histórico localmente. O GitHub é um serviço na internet onde podes guardar uma cópia (remota) desse histórico, partilhá-lo com outros, e colaborar. Podes usar Git sem nunca usar GitHub — mas na prática, quase todos os projetos combinam os dois: Git para o histórico, GitHub para o backup e a colaboração.