Aula 04: Controle de Versão com Git 🛠️
🎯 Nossa Missão
- Entender por que usar Git.
- Dominar o fluxo local (Add/Commit).
- Configurar sua identidade de desenvolvedor.
- Aprender a "viajar no tempo" com o histórico.
😫 O Problema do "Final_v2_Revise.zip"
- Qual arquivo é o último?
- Como voltar se eu apagar tudo sem querer?
- Como saber quem mudou o quê?
- O Git resolve tudo isso.
🧠 O que é o Git?
- Sistema de Controle de Versão Distribuído.
- Criado por Linus Torvalds (o pai do Linux).
- Rápido, leve e focado na integridade dos dados.
⚙️ Configuração Inicial
Antes de começar, o Git precisa saber quem você é.
* Configura apenas uma vez por computador.🏗️ As Três Áreas do Git
mermaid graph LR WD[Working Directory] -- git add --> SA[Staging Area] SA -- git commit --> LR[Local Repository]
1. Working Directory 📂
É a pasta onde seus arquivos estão agora. * Onde você edita, cria e deleta. * O Git está observando as mudanças "em aberto".
2. Staging Area (ou Index) 🎟️
É a "sala de espera" para os arquivos que você quer salvar. * Você escolhe o que entra no palco. * Permite selecionar apenas alguns arquivos alterados. * Comando: git add <arquivo>.
3. Local Repository (Histórico) 📜
É onde as versões são salvas permanentemente na sua máquina. * Após o commit, a versão ganha um código (Hash). * Imutável e seguro. * Comando: git commit -m "mensagem".
🚀 Inicializando um Repositório
* Isso cria a pasta mágica.git. 🔍 Verificando o Estado
git status * Arquivos Vermelhos: Mudanças não preparadas. * Arquivos Verdes: Mudanças no Staging (prontas para commit). * Nada para comitar: Tudo limpo!
📝 A Arte da Mensagem de Commit
❌ Má prática: ajustes, fix, commmit, v1 ✅ Boa prática (Conventional Commits): * feat: adicionar tela de login * fix: corrigir erro no calculo de frete * docs: atualizar cronograma da aula
📖 Consultando o Passado: git log
- Lista todos os commits.
- Mostra Autor, Data e Mensagem.
- Exibe o HASH (ex:
a1b2c3d). - Use
git log --onelinepara uma lista curta.
🕵️♂️ Ocultando o que não importa: .gitignore
Existem arquivos que NÃO devem ir para o Git: * Senhas e Chaves de API. * Pastas de bibliotecas (node_modules). * Arquivos temporários do Sistema (.DS_Store). * Configurações pessoais do editor.
💡 Como funciona o .gitignore?
Crie um arquivo chamado .gitignore e escreva os nomes das pastas/arquivos lá.
🔄 Fluxo Completo na Prática
- Edita o arquivo.
git status(Ver o que mudou).git add .(Levar tudo para o palco).git commit -m "feat: x"(Salvar!).
🛳️ Diferença entre Git e GitHub
- Git: O motor local. Funciona sem internet.
- GitHub: O estacionamento de nuvem. Ferramenta social.
- O Git envia para o GitHub (veremos na próxima aula!).
⚠️ Atenção aos Erros Comuns
- Esquecer de fazer o
git addantes docommit. - Tentar fazer
commitsem mensagem. - Sair comitando arquivos de 1GB (use .gitignore!).
🏆 Checklist de Fundamentos
- Repositório inicializado com
git init. - Usuário e Email configurados.
- Entende a diferença entre Add e Commit.
- Sabe ler o
git status.
📝 Prática de Hoje
- Criar uma pasta e iniciar o Git.
- Fazer 3 commits com mensagens diferentes.
- Criar um
.gitignoree testar se funciona.
🏁 Dúvidas?
O Git é seu melhor amigo de agora em diante! 🚀