A.8 — Git & controle de versão (a máquina do tempo do código)

Git guarda o histórico de todo o seu código; GitHub é onde esse histórico vive online. Conceitos mínimos:

  • Repositório (repo): a pasta do projeto sob controle do git.
  • Commit: uma "foto" do código num momento (fica no histórico para sempre).
  • Branch: uma linha de trabalho paralela; push/pull: enviar/trazer commits do GitHub.
  • .gitignore: lista de arquivos que o git deve ignorar (não versionar).

🔒 Em segurança (um dos pontos mais importantes deste módulo):

  • O histórico é permanente: um segredo commitado uma vez continua lá mesmo que você o apague depois — basta olhar um commit antigo (é o seu Ex. 32, com 75 ocorrências no histórico).
  • Por isso: .gitignore protege ANTES (impede o .env/wrangler.jsonc de entrar); e se um segredo entrou, não basta remover — é preciso rotacionar a chave + limpar o histórico (git filter-repo/BFG).
  • Ferramentas como gitleaks e TruffleHog varrem o histórico inteiro atrás de segredos — do seu lado (defesa) e do lado do atacante (recon em repos públicos).
  • Repo público = todo o histórico é lido por qualquer um. Um fork copia o histórico junto.

entre para marcar esta aula como concluída.

PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico