🚀 Capítulo 06: Git: A Máquina do Tempo (Tema: De Volta para o Futuro)

NOTE

Este capítulo utiliza a temática de De Volta para o Futuro para explicar o Git básico. Salve os estados do seu código para poder viajar no tempo se algo der errado!


1. 🎯 Objetivo da Aula

Compreender o conceito de Controle de Versão, entendendo o que é o Git, a diferença entre Git e GitHub, e aprendendo os comandos básicos para salvar o histórico do seu código.

2. 🏢 O Cenário Prático (Seu Desafio)

No filme De Volta para o Futuro, o jovem Marty McFly usa o carro DeLorean modificado para viajar no tempo. Se ele fizer alguma besteira no passado, o futuro dele muda (ele pode até deixar de existir!). Ele precisa tomar muito cuidado e saber exatamente para qual data voltar se algo der errado.

No desenvolvimento de software, nós fazemos “viagens no tempo” o tempo todo!

  • Você escreve um código que funciona perfeitamente.
  • No dia seguinte, você tenta adicionar uma função nova, mexe em vários arquivos e… tudo para de funcionar! E agora? Você não lembra quais linhas mudou. O desespero bate!

O Git é o nosso carro DeLorean! Ele serve para tirar “fotos” (pontos de salvamento) do seu projeto. Se você estragar tudo no futuro, você pode simplesmente “viajar no tempo” de volta para a foto onde tudo funcionava! Seu desafio é aprender a pilotar essa máquina!


🧠 Fundamentos: A Teoria Traduzida

🕰️ O que é Controle de Versão?

É um sistema que registra as mudanças em um arquivo ou conjunto de arquivos ao longo do tempo para que você possa recuperar versões específicas mais tarde.

⚠️ Git vs. GitHub (A grande confusão):

  • Git: É o programa da máquina do tempo. Ele roda no seu computador, via terminal. É ele quem tira as fotos e guarda o histórico.
  • GitHub: É um site (uma rede social de programadores) onde você guarda as fotos que o Git tirou para que outras pessoas possam ver e trabalhar junto com você. (O Git é o seu carro; o GitHub é a garagem pública na internet).

📸 O Ciclo da Foto no Git:

Para tirar uma foto do seu código, seguimos 3 passos no terminal:

  1. git init (Ligar o carro): Você avisa ao Git que quer começar a monitorar aquela pasta. Só precisa fazer isso uma vez por projeto.
  2. git add . (Preparar para a foto): Você escolhe quais arquivos quer que entrem na próxima foto. O ponto . significa “todos os arquivos”.
  3. git commit -m "Mensagem" (Bater a foto): Você salva a foto e dá um nome para ela (a mensagem). Ex: git commit -m "Adiciona botão de login".

4. 📖 Exemplo Guiado: Vendo o Álbum de Fotos

Como sabemos quais fotos já tiramos no projeto? Usamos o comando: git log O terminal vai mostrar uma lista de todos os commits (fotos) feitos, quem fez, o dia, a hora e a mensagem que a pessoa escreveu. É o histórico completo do seu projeto!


5. 🛠️ Prática Obrigatória 1: Tirando a Foto

Você acabou de criar um arquivo chamado jogo.cpp e quer salvá-lo no Git. Escreva a sequência de comandos que você digitaria no terminal para:

  1. Iniciar o Git nessa pasta.
  2. Adicionar o arquivo jogo.cpp para a foto.
  3. Tirar a foto com a mensagem “Primeira versão do jogo”.

6. 🛠️ Prática Obrigatória 2: O Erro de Identidade

Ao tentar dar o primeiro commit, o Git dá um erro dizendo que não sabe quem você é e pede para você configurar o seu e-mail e nome.

  1. Por que o Git exige saber quem está tirando a foto? Como isso ajuda em equipes com 10 programadores?

7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 06 GuiaFerramentas) e clique em Commit to main.
  2. Envie para a Nuvem (Push): Clique em Push origin.

8. 📂 Estrutura de Pastas

extra_guia_de_ferramentas/
├── capitulos/
│   ├── capitulo_06_git_basico.md
│   └── codigos/
│       └── cap06/
│           └── historico.txt

💡 Checkpoint de Lógica

Um bom commit deve ser pequeno e focado. Não queira fazer coisas diferentes e dar um único commit escrito “Atualização”. Faça um commit para cada coisa pequena que você terminar e testar!

10. 🔥 Desafio de Fixação

Pesquise o que significa o termo SHA-1 (o código gigante de letras e números que identifica cada commit no Git).

🔑 Gabarito de Código/Fórmulas

Gabarito da Prática 1:

  1. git init
  2. git add jogo.cpp (Ou git add .)
  3. git commit -m "Primeira versão do jogo" Gabarito da Prática 2:
  4. Porque em uma equipe, o Git registra quem fez cada alteração. Se um bug surgir, o log mostrará exatamente quem escreveu aquela linha e quando, facilitando para ir conversar com a pessoa e entender o que ela pensou!

Capitulo Anterior | Proximo Capitulo