Aula 02B: Git e GitHub — Guia de Sobrevivência
Objetivos de Aprendizagem
Ao final desta aula, você deve ser capaz de:
- Explicar o que é controle de versão e por que usá-lo.
- Instalar e configurar o Git no seu computador.
- Criar um repositório local e registrar alterações com
addecommit. - Usar o GitHub para hospedar um repositório remoto e sincronizar com
pushepull. - Clonar um repositório existente com
clone. - Usar o painel de controle de versão do VS Code no lugar da linha de comando.
Conteúdo
1) O que é controle de versão e por que importa
Controle de versão é um sistema que registra o histórico de mudanças de arquivos ao longo do tempo. Com ele você pode:
- Voltar para versões anteriores se algo quebrar.
- Trabalhar em equipe sem sobrescrever o código dos outros.
- Entender o que mudou, quando e por quê.
Git é o sistema de controle de versão mais usado no mundo. GitHub é uma plataforma online para hospedar repositórios Git e colaborar com outras pessoas.
Analogia: Pense no Git como um "Ctrl+Z infinito e inteligente" para seus projetos — mas que também registra quem fez o quê e quando.
2) Instalação e configuração inicial
Instalando o Git
- Windows: Baixe em https://git-scm.com. Durante a instalação, mantenha as opções padrão.
- macOS: Abra o Terminal e execute
git --version. Se não estiver instalado, o macOS oferecerá a instalação automática via Xcode Command Line Tools. - Linux:
sudo apt install git(Debian/Ubuntu) ousudo dnf install git(Fedora).
Verifique a instalação:
git --version
# git version 2.x.x
Configurando nome e e-mail
Essa configuração é registrada em cada commit. Faça apenas uma vez por computador:
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
3) Fluxo básico: criar, registrar e verificar
Criando um repositório
# Entre na pasta do projeto (ou crie uma nova)
mkdir meu-projeto
cd meu-projeto
# Inicializa o repositório Git nessa pasta
git init
Isso cria uma pasta oculta .git/ que armazena todo o histórico.
O ciclo: editar → stage → commit
O Git usa uma área intermediária chamada staging area (ou índice):
# Crie um arquivo de exemplo
echo "print('Hello, Git!')" > hello.py
# Verifica o estado do repositório
git status
# Adiciona o arquivo à staging area
git add hello.py
# Registra o commit com uma mensagem
git commit -m "Adiciona script de bola de cristal"
Verificando o histórico
# Lista os commits realizados
git log --oneline
Saída esperada (algo similar):
a1b2c3d (HEAD -> main) Adiciona script de bola de cristal
Veja como o histórico cresce a cada commit. Em projetos reais, é comum criar branches para trabalhar em funcionalidades separadas e depois unificá-las com merge:
4) Comandos essenciais do dia a dia
| Comando | O que faz |
|---|---|
git status | Mostra arquivos modificados, novos ou removidos |
git add . | Adiciona todos os arquivos alterados à staging area |
git add <arquivo> | Adiciona um arquivo específico |
git commit -m "mensagem" | Registra as mudanças em stage com uma mensagem |
git log --oneline | Lista commits de forma resumida |
git diff | Mostra diferenças não adicionadas à staging area |
Desfazendo mudanças básicas
# Descarta mudanças não commitadas em um arquivo
git restore hello.py
# Remove um arquivo da staging area (sem desfazer a edição)
git restore --staged hello.py
5) GitHub — repositório remoto
Criando e conectando um repositório remoto
- Acesse https://github.com e crie uma conta.
- Clique em New repository, dê um nome e clique em Create.
- No terminal, conecte o repositório local ao remoto:
# Adiciona o repositório remoto (substitua pela URL do seu repo)
git remote add origin https://github.com/seu-usuario/meu-projeto.git
# Renomeia o branch principal para "main" (boa prática atual)
git branch -M main
# Envia os commits locais para o GitHub
git push -u origin main
O diagrama abaixo resume a relação entre repositório local e remoto:
Sincronizando com o remoto
# Baixa e integra as mudanças do remoto no repositório local
git pull origin main
# Envia novos commits locais para o GitHub
git push
Clonando um repositório existente
# Baixa todo o repositório do GitHub para a sua máquina
git clone https://github.com/usuario/repositorio.git
6) Git no VS Code
O VS Code tem suporte nativo ao Git sem precisar instalar nada.
Painel Source Control
Clique no ícone de ramificação na barra lateral esquerda (ou pressione Ctrl+Shift+G / Cmd+Shift+G no macOS) para abrir o painel Source Control. Nele você pode:
- Ver quais arquivos foram modificados (substituindo
git status). - Clicar no
+ao lado de um arquivo para fazergit add. - Digitar a mensagem e clicar em Commit (substituindo
git commit). - Clicar em Sync Changes para fazer
push/pull.
Visualizando diferenças
Clique em qualquer arquivo modificado no painel Source Control para abrir o diff inline — as linhas adicionadas aparecem em verde e as removidas em vermelho, lado a lado.
Terminal integrado
Para comandos que o painel não cobre (como git log, git remote add), use o terminal integrado do VS Code: Ctrl+`` `` (crase) ou menu Terminal → New Terminal.
Dica: A extensão GitLens adiciona histórico linha a linha, comparação de branches e muito mais — recomendada para quem quiser ir além do básico.
7) Boas práticas de commit
- Mensagens no imperativo: "Adiciona validação de entrada" em vez de "Adicionei validação".
- Commits pequenos e focados: Um commit por mudança lógica, não um commit gigante no final do dia.
- Não commite arquivos desnecessários: Use um arquivo
.gitignorepara ignorar__pycache__/,.env, arquivos temporários do editor.
Exemplo de .gitignore para projetos Python:
__pycache__/
*.pyc
.env
.vscode/
Exercícios (checkpoints)
-
Instale o Git e configure nome e e-mail. Execute
git config --global --liste verifique se as informações aparecem corretamente.- Critério de verificação:
user.nameeuser.emailaparecem na saída do comando.
- Critério de verificação:
-
Crie uma pasta
exercicio-git, inicialize um repositório e crie um arquivoola.pycomprint("Olá, Git!"). Façaaddecommit.- Critério de verificação:
git log --onelinemostra ao menos 1 commit.
- Critério de verificação:
-
Edite
ola.pyadicionando uma segunda linha. Antes de fazeradd, executegit diffe explique o que aparece na saída.- Critério de verificação: Você consegue identificar qual linha foi adicionada no diff.
-
Crie um repositório no GitHub e envie o repositório local com
git remote add+git push. Acesse a URL do repositório no navegador e verifique se o arquivoola.pyaparece lá.- Critério de verificação: O arquivo está visível no GitHub na branch
main.
- Critério de verificação: O arquivo está visível no GitHub na branch
-
No VS Code, abra a pasta
exercicio-gite faça uma nova edição emola.pyusando apenas o painel Source Control (sem terminal) para adicionar e commitar a mudança.- Critério de verificação: O commit aparece em
git log --onelinepelo terminal.
- Critério de verificação: O commit aparece em
-
Crie um arquivo
.gitignoreque ignore__pycache__/. Crie a pasta__pycache__manualmente e verifique comgit statusque ela não aparece como arquivo não rastreado.- Critério de verificação:
git statusnão lista__pycache__/.
- Critério de verificação:
Referências
Principais
- Git — Documentação Oficial (Getting Started): https://git-scm.com/book/pt-br/v2
- GitHub Docs — Hello World: https://docs.github.com/pt/get-started/start-your-journey/hello-world
- VS Code — Intro to Git: https://code.visualstudio.com/docs/sourcecontrol/intro-to-git
Aprofundamento
- Pro Git (livro gratuito, em português): https://git-scm.com/book/pt-br/v2
- Atlassian Git Tutorials: https://www.atlassian.com/git/tutorials
- GitLens — extensão VS Code: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens