MODULO 2.5

📚 Git e Versionamento Integrado

Claude Code tem integracao nativa com Git e GitHub. Aprenda a criar commits, branches, PRs e usar gh CLI de forma segura seguindo o protocolo de seguranca do Git.

6
Topicos
40
Minutos
Pratico
Nivel
Core
Tipo
1

🔒 Protocolo de Seguranca Git

Claude Code segue um protocolo rigoroso de seguranca para operacoes Git, protegendo seu repositorio de acoes destrutivas.

🚫 NUNCA Executar (a menos que explicitamente pedido)

  • git push --force
  • git reset --hard
  • git checkout .
  • git restore .
  • git clean -f
  • git branch -D
  • --no-verify
  • --no-gpg-sign

Regras Importantes

  • Nunca modificar git config
  • Criar commits NOVOS - nao usar --amend apos hook falhar
  • Adicionar arquivos especificos - evitar git add -A ou git add .
  • Nao commitar secrets - .env, credentials, API keys
2

📝 Criando Commits

O processo de commit segue um workflow especifico que analisa mudancas, cria mensagem apropriada e verifica o resultado.

1

Analisar estado

git status

git diff

git log --oneline -5

2

Adicionar arquivos especificos

git add src/main.py src/utils.py

Nunca git add -A ou git add .

3

Commit com HEREDOC

git commit -m "$(cat <<'EOF'
Fix authentication bug in login flow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
EOF
)"

💡 Formato HEREDOC

Use HEREDOC para mensagens de commit com multiplas linhas. Isso garante formatacao correta e evita problemas com caracteres especiais.

3

🌿 Branches e Merges

Gerenciamento de branches segue as mesmas regras de seguranca. Evite comandos destrutivos e prefira operacoes seguras.

✓ Operacoes Seguras

git checkout -b feature/nova

git switch main

git merge feature/x

git branch -d (d minusculo)

✗ Evitar

git branch -D (D maiusculo)

git rebase -i

git checkout . (descarta mudancas)

git merge --force

🔄 Fluxo de Branch

# Criar branch para feature

git checkout -b feature/user-auth

# Fazer commits...

# Voltar para main e merge

git checkout main

git merge feature/user-auth

4

🐙 GitHub CLI (gh)

Use gh CLI para todas as operacoes GitHub: issues, PRs, releases, actions. E mais eficiente que WebFetch para URLs do GitHub.

Comandos Essenciais

# Ver PR

gh pr view 123

# Listar issues

gh issue list --state open

# Ver comentarios de PR

gh api repos/owner/repo/pulls/123/comments

# Status de checks

gh pr checks 123

💡 Dica

Para qualquer URL do GitHub, prefira usar gh em vez de WebFetch. O gh CLI tem autenticacao e acesso a APIs privadas.

5

📤 Criando Pull Requests

Claude Code pode criar PRs completos com titulo, descricao estruturada e labels. O processo segue um template padrao.

Estrutura de PR

gh pr create --title "Fix authentication bug" --body "$(cat <<'EOF'
## Summary
- Fixed session timeout issue
- Added token refresh logic
- Updated error messages

## Test plan
- [ ] Login with valid credentials
- [ ] Test session expiry after 1 hour
- [ ] Verify token refresh works

🤖 Generated with Claude Code
EOF
)"

✓ Bom PR

  • Titulo curto (< 70 chars)
  • Summary com bullet points
  • Test plan com checklist
  • Labels apropriados

✗ Evitar

  • Titulo muito longo/vago
  • Sem descricao
  • Muitos arquivos nao relacionados
  • Secrets commitados
6

🔧 Lidando com Pre-commit Hooks

Quando um pre-commit hook falha, o commit NAO foi criado. E critico entender isso para nao perder trabalho.

⚠️ Erro Critico: Usar --amend apos falha

Se o hook falhar e voce usar git commit --amend, voce vai modificar o COMMIT ANTERIOR, potencialmente destruindo trabalho.

# ERRADO - modifica commit anterior!

git commit --amend -m "mensagem"

# CORRETO - cria novo commit

git add . && git commit -m "mensagem"

Fluxo Correto apos Hook Falhar

  1. 1 Identificar o problema (lint, testes, formatacao)
  2. 2 Corrigir o codigo
  3. 3 Re-stage os arquivos (git add)
  4. 4 Criar NOVO commit (sem --amend)

📋 Resumo do Modulo

Protocolo de seguranca - nunca force push, reset hard, ou skip hooks
Commits com HEREDOC - formatacao correta de mensagens
Use gh CLI - para PRs, issues, e operacoes GitHub
Nunca --amend apos hook falhar - sempre criar novo commit
Adicionar arquivos especificos - evitar git add -A

Proximo Modulo:

2.6 - Web Tools: WebSearch e WebFetch - busca na web e extracao de conteudo