Pular para conteúdo

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ê é.

git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
* 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

$ mkdir meu-projeto
$ cd meu-projeto
$ git init
Initialized empty Git repository in /.../.git/
* 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 --oneline para 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á.

node_modules/
.env
secret.txt


🔄 Fluxo Completo na Prática

  1. Edita o arquivo.
  2. git status (Ver o que mudou).
  3. git add . (Levar tudo para o palco).
  4. 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 add antes do commit.
  • Tentar fazer commit sem 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

  1. Criar uma pasta e iniciar o Git.
  2. Fazer 3 commits com mensagens diferentes.
  3. Criar um .gitignore e testar se funciona.

🏁 Dúvidas?

O Git é seu melhor amigo de agora em diante! 🚀