Git Ignore

1 min

Índice

  1. Por que .gitignore?
  2. Criação rápida
  3. Regras comuns
  4. Teste e verificação

1. Por que .gitignore?

Problema: o Git quer seguir TODOS os seus ficheiros, até os inúteis:

  • Ficheiros temporários (.tmp)
  • Pastas de build (node_modules/)
  • Ficheiros sensíveis (.env)
  • Cache do sistema (.DS_Store)

Solução: .gitignore

  • Lista dos ficheiros/pastas a ignorar
  • O Git faz de conta que não existem

Voltar ao índice

2. Criação rápida

bash
mkdir demo-gitignore && cd demo-gitignore
git init

# Criar ficheiros de teste
echo "print('app')" > app.py
echo "SECRET_KEY=123456" > .env
mkdir temp && echo "cache" > temp/cache.tmp
mkdir logs && echo "error logs" > logs/app.log

# Sem .gitignore, o Git quer seguir tudo
git status      # Ver todos os ficheiros

# Criar .gitignore
cat > .gitignore << EOF
# Ficheiros sensíveis
.env
*.secret

# Pastas temporárias  
temp/
logs/
build/

# Ficheiros de sistema
.DS_Store
*.tmp
EOF

# Agora o Git ignora estes ficheiros
git status      # Mais limpo!

Voltar ao índice

3. Regras comuns

Padrões úteis:

PadrãoIgnora
*.logTodos os ficheiros .log
temp/A pasta temp inteira
.env*Todos os ficheiros que começam por .env
!important.logExceção: guardar este ficheiro
build/**Tudo em build recursivamente

Modelos prontos a usar:

  • Python: __pycache__/, *.pyc, .env
  • Node.js: node_modules/, npm-debug.log
  • Java: *.class, target/

Voltar ao índice

4. Teste e verificação

bash
# Verificar se um ficheiro é ignorado
git check-ignore -v .env            # Se ignorado: mostra a regra
git check-ignore logs/app.log       # Se ignorado: nada mostrado

# Forçar a adição de um ficheiro ignorado (se for mesmo necessário)
git add -f fichier-ignore.tmp

# Ver todos os ficheiros não ignorados
git ls-files

Regra de ouro: crie o .gitignore no INÍCIO do projeto!

Voltar ao índice