Aula 03 - Controle de Versão com Git 📜
Objetivo
Objetivo: Compreender o conceito de versionamento de código, aprender os comandos fundamentais do Git e entender como ele permite que múltiplos desenvolvedores trabalhem no mesmo projeto sem caos.
1. O que é Versionamento? 🕰️
Imagine que você está escrevendo um TCC. Você salva como TCC_final.docx, depois TCC_final_v2.docx, depois TCC_final_agora_vai.docx.
O Controle de Versão (VCS) resolve isso de forma profissional, permitindo que você: * Mantenha um histórico de todas as alterações. * Volte no tempo se algo quebrar. * Trabalhe em equipe sem sobrescrever o trabalho do colega.
O Git é o sistema de controle de versão distribuído mais popular do mundo.
2. A Estrutura do Git (Os 3 Estados) 🏗️
O Git trabalha com três áreas principais:
- Working Directory: Onde você edita seus arquivos.
- Staging Area (Index): Onde você marca os arquivos que quer salvar no próximo "print" (commit).
- Repository (.git): Onde o Git guarda permanentemente as fotos (snapshots) do seu código.
graph LR
WD(["Working Directory"]) -- "git add" --> SA(["Staging Area"])
SA -- "git commit" --> RP(["Local Repository"])
RP -- "git push" --> Remote(["Remote Repository"])
3. Comandos Básicos (Mão na Massa) 🛠️
Abra seu terminal e prepare-se para usar os comandos sagrados:
Comandos de Fluxo (Termynal) 💻
git init Initialized empty Git repository... git add . git commit -m "Meu primeiro commit" [main (root-commit) 1a2b3c4] Meu primeiro commit git status nothing to commit, working tree clean
4. Branches: Linhas do Tempo 🌿
Uma Branch é uma ramificação do seu projeto. Você pode criar uma branch para testar uma funcionalidade nova sem estragar a versão principal (main).
git branch: Lista as branches.git checkout -b nova-feature: Cria e muda para uma nova branch.git merge nova-feature: Junta as alterações da branch namain.
5. Boas Práticas de Commits 📝
Um bom desenvolvedor DevOps escreve mensagens de commit que fazem sentido:
* ❌ git commit -m "ajuste"
* ❌ git commit -m "foi"
* ✅ git commit -m "Adiciona validação de e-mail no formulário de login"
Dica: Use o presente e seja descritivo: "Adiciona X", "Corrige Y", "Remove Z".
6. Prática Sugerida 💻
- Crie uma pasta chamada
meu-primeiro-git. - Inicie o git nela (
git init). - Crie um arquivo
index.html. - Adicione e commite (
git add .egit commit). - Crie uma branch chamada
ajuste-texto, mude o arquivo e faça o merge.
7. Exercício de Fixação 🧠
- Qual a diferença entre a Staging Area e o Repositório Local?
- Para que serve o comando
git merge? - Por que é importante usar uma branch diferente para cada nova funcionalidade?
Próxima Aula: Vamos levar nosso código para o mundo com o GitHub Colaborativo! 👥