Por que controle de versão
O problema que git resolve: histórico, colaboração e a possibilidade real de desfazer qualquer coisa.
Antes de git, o jeito comum de "versionar" um projeto era isso:
projeto/
projeto-final/
projeto-final-v2/
projeto-final-v2-CORRIGIDO/
projeto-final-USAR-ESSE/Isso não escala — ninguém sabe o que mudou entre uma pasta e outra, não dá pra colaborar sem sobrescrever o trabalho de alguém, e "desfazer" significa procurar manualmente a pasta certa (se ela ainda existir).
O que git resolve
Histórico completo → toda mudança fica registrada, com autor, data e o que mudou exatamente
Reverter qualquer coisa → dá pra voltar pra qualquer ponto anterior, mesmo meses depois
Trabalhar em paralelo → duas pessoas mexem no mesmo projeto sem sobrescrever uma a outra
Rastrear "quem mudou o quê" → cada linha de código tem um autor e um motivo (a mensagem do commit)Git é local; GitHub é só um lugar pra hospedar
Uma confusão comum no início: git e GitHub não são a mesma coisa. Git é a ferramenta que roda na sua máquina, versiona seus arquivos localmente — funciona até sem internet. GitHub (ou GitLab, Bitbucket) é um serviço que hospeda uma cópia remota do seu repositório git, pra backup e colaboração. Você pode usar git sem nunca tocar no GitHub; não dá pra usar GitHub sem git por baixo.