Como ignorar pastas e diretórios no Git
Guia prático sobre regras de exclusão de pastas: barras finais, pastas relativas à raiz, subdiretórios aninhados e preservação de pastas vazias com .gitkeep.
No Git, acrescentar uma barra inclinada no final (/) instrui o Git a verificar apenas diretórios e desconsiderar arquivos comuns com o mesmo nome:
# Matches only directories named "build/" (e.g. /build/, /src/build/)
build/
# Matches BOTH a directory named "build" AND a file named "build"
buildSempre utilize uma barra no final quando sua intenção for ignorar uma pasta. Isso evita ignorar scripts executáveis sem extensão por engano.
Por padrão, o nome de uma pasta sem barra inicial é avaliado em qualquer nível do seu repositório:
# Matches "logs/" anywhere in the repository: /logs/, /apps/web/logs/, etc.
logs/
# Anchored: Matches "logs/" ONLY at the repository root
/logs/Se você precisa ignorar subpastas específicas sem descartar a pasta-mãe inteira, combine curingas glob com caminhos de diretório:
# Ignore any folder named "temp" inside any "build" directory
build/**/temp/
# Ignore all subdirectories inside packages except package files
packages/*/dist/O Git rastreia arquivos, nunca pastas vazias sozinhas. Se você precisa versionar a estrutura de pastas vazias (ex.: uploads/ ou logs/), utilize a convenção .gitkeep:
# 1. Ignore everything inside uploads/
uploads/*
# 2. But whitelist the .gitkeep file inside it
!uploads/.gitkeepQuando uma pasta principal é ignorada, você não pode simplesmente reincluir uma subpasta com ponto de exclamação. É necessário descartar os itens internos:
# Ignore everything inside config/
config/*
# Whitelist production folder and its contents
!config/production/
!config/production/**Perguntas Frequentes
Respostas práticas para dúvidas comuns de desenvolvedores sobre regras de .gitignore, cache e configuração de repositórios.
Qual a diferença entre pasta e pasta/ no .gitignore?
'pasta/' casa exclusivamente diretórios. 'pasta' sem barra casa tanto diretórios quanto arquivos comuns que compartilhem o mesmo nome.
Como comitar uma pasta vazia no Git?
Crie um arquivo vazio chamado .gitkeep dentro da pasta, ignore os arquivos internos com 'pasta/*' e declare a exceção com '!pasta/.gitkeep'.
Como ignorar o conteúdo de uma pasta mas manter a pasta em si?
Use 'diretorio/*' em vez de 'diretorio/'. Isso descarta os arquivos internos sem fazer com que o Git pule a leitura da pasta.
Guias e Referências de .gitignore
Como ignorar arquivos já rastreados no Git
A solução para o problema frequente no Git: desindexar arquivos sensíveis ou gerados que foram comitados por engano antes do .gitignore.
Guia de sintaxe e padrões no .gitignore
Explicação abrangente sobre formato de regras, globbing, barras iniciais e finais, particularidades da negação e intervalos de caracteres no Git.
Exemplos de .gitignore para stacks modernas
Modelos práticos e selecionados de .gitignore para linguagens populares, frameworks de backend, desenvolvimento de jogos e contêineres.