Ignorar Arquivos no Git: Guia Essencial 2026

Aprenda a ignorar arquivos e pastas no Git com .gitignore, git update-index e git clean. Otimize seus repositórios e mantenha o foco no código relevante.

13 min de leitura
Mão de programador interagindo com projeção holográfica de comandos Git e estrutura de arquivos .gitignore

O Que Significa Ignorar Arquivos no Git e Por Que Fazer Isso?

E aí, galera do código! Já se pegaram com um monte de arquivo temporário, log, ou até mesmo credenciais sensíveis subindo pro repositório Git sem querer? Pois é, quem nunca, né? Ignorar arquivos no Git é, basicamente, ensinar o seu controle de versão a dar aquela “passada de pano” em certas coisas. Significa dizer: “Git, esses arquivos aqui? Esquece, não são da sua conta, não quero que você os rastreie ou inclua nos meus commits” freecodecamp.org.

Essa prática não é só uma questão de organização, é questão de sanidade e segurança! Pensa comigo: você tá lá, codando, e seu ambiente de desenvolvimento gera um monte de arquivo .DS_Store (se for Mac), ou sua IDE cria pastas .idea/ e arquivos de cache. Se tudo isso for pro repositório, vira uma bagunça, o tamanho do projeto incha à toa, e a galera que for clonar vai ter que baixar um monte de coisa inútil. Além disso, e aqui vem o ponto mais crítico, é a forma de proteger informações que não deveriam, em hipótese alguma, sair do seu computador, como chaves de API, senhas ou configurações de banco de dados no seu .env dio.me. Um simples arquivo de texto pode ser a linha de defesa entre seu projeto e um vazamento de dados.

A ferramenta principal pra fazer essa mágica acontecer é o famoso .gitignore. Ele funciona como uma lista de exclusão, um filtro que impede o Git de ver arquivos e diretórios que você não quer que ele veja. É como ter um porteiro na sua festa de código, barrando os penetras e deixando só quem realmente importa entrar.

Dominando o Arquivo .gitignore: Regras Essenciais e Avançadas

O .gitignore é o seu melhor amigo quando o assunto é manter o repositório limpo. Ele é um arquivo de texto simples que você cria na raiz do seu projeto. Todas as regras que você colocar lá dentro vão dizer ao Git o que ele deve ignorar atlassian.com.

Students using computers in a library, focused on academic research and learning.
Students using computers in a library, focused on academic research and learning. — Foto: Mikhail Nilov

Pra começar, as regras básicas são bem diretas:

  • *.log: Ignora todos os arquivos com a extensão .log.
  • /temp: Ignora a pasta temp que está na raiz do seu projeto. Se tivesse outra pasta temp em um subdiretório, ela não seria ignorada por essa regra.
  • build/: Ignora o diretório build e todo o seu conteúdo, não importa onde ele esteja. A barra no final indica que é um diretório.
  • meuarquivo.txt: Ignora um arquivo específico.

Mas a coisa fica mais legal (e potente!) com as regras avançadas. Saca só:

  • !: Use a exclamação pra re-incluir um arquivo que foi ignorado por uma regra anterior. Por exemplo, se você ignorou *.log, mas quer manter importante.log, você pode fazer: *.log na primeira linha e depois !importante.log.
  • **/node_modules/: Essa é uma mão na roda! Ignora todas as pastas node_modules em qualquer nível de subdiretório dentro do seu projeto. É muito útil pra projetos JavaScript/TypeScript.
  • config/*.ini: Ignora todos os arquivos .ini dentro da pasta config.

[!CALLOUT tipo=“dica”] Pra arquivos temporários ou de configuração que são só seus e não interessam à equipe, tipo as configurações da sua IDE, use o arquivo .git/info/exclude. Ele funciona igual ao .gitignore, mas é local e não é versionado. Assim, você não polui o .gitignore do projeto com suas frescuras pessoais, saca? Ou melhor ainda, configure um .gitignore global pra sua máquina, que vale pra todos os projetos que você tocar medium.com.

Eu confesso que demorei um tempo pra pegar o jeito do !, e já cometi o erro de ignorar uma pasta inteira pra depois tentar re-incluir um arquivo importante. A vida ensina!

Passo a Passo: Ignorando Arquivos e Pastas de Diferentes Maneiras

Dominar o .gitignore é uma habilidade que todo desenvolvedor, do júnior ao sênior, precisa ter na ponta dos dedos. Vamos ver como fazer isso na prática, com alguns cenários comuns:

A man intensely reacts to a game loss at his computer in a dimly lit gaming room.
A man intensely reacts to a game loss at his computer in a dimly lit gaming room. — Foto: Yan Krukau

1. Ignorando arquivos novos com .gitignore

Essa é a forma mais comum e recomendada.

  1. Crie um arquivo chamado .gitignore na raiz do seu repositório (se ele já não existir).
  2. Abra o arquivo .gitignore com seu editor de texto preferido.
  3. Adicione os padrões de arquivos ou pastas que você quer ignorar, um por linha.
  4. Salve o arquivo.
  5. Use git status pra confirmar que os arquivos que você listou não aparecem mais como “untracked files”.
# Exemplo de .gitignore
# Ignora arquivos de log
*.log

# Ignora a pasta de build
build/

# Ignora o arquivo de variáveis de ambiente
.env

# Ignora a pasta node_modules em qualquer nível
**/node_modules/

# Mas não ignora o arquivo importante.log
!important.log

2. Ignorando arquivos que já foram rastreados (e removendo-os do histórico futuro)

Esse é um erro clássico. Você comita o config.ini ou o arquivo_secreto.txt sem querer, e depois pensa: “E agora, José?”. O .gitignore só funciona pra arquivos não rastreados datacamp.com. Se o arquivo já está no histórico, você precisa removê-lo do índice do Git primeiro.

  1. Adicione o arquivo ao seu .gitignore (conforme o passo 1 acima).
  2. Execute o comando git rm --cached <arquivo> pra remover o arquivo do índice do Git, mas mantê-lo no seu diretório local.
  3. Comite essa mudança. O arquivo não estará mais no repositório, mas ainda estará na sua máquina e será ignorado em commits futuros.
# Adicione o arquivo ao .gitignore primeiro
echo "config.ini" >> .gitignore

# Remova-o do índice do Git
git rm --cached config.ini

# Comite a remoção
git commit -m "Removendo config.ini do rastreamento Git"

Pra quem quer ir além e entender mais sobre como gerenciar arquivos no Git, recomendo dar uma olhada em Descubra: Dominando Ignorar Arquivos Git 2026: Guia. É uma mina de ouro!

3. Ignorando arquivos temporariamente (sem alterar o .gitignore)

Às vezes, você só quer que o Git pare de incomodar com um arquivo rastreado localmente, sem que essa mudança afete o .gitignore do projeto ou outros desenvolvedores.

  1. Use git update-index --assume-unchanged <arquivo> pra dizer ao Git pra parar de notar mudanças nesse arquivo.
  2. Pra reverter e fazer o Git voltar a rastrear as mudanças, use git update-index --no-assume-unchanged <arquivo>.
# Ignora mudanças em meu_arquivo_de_configuracao.json
git update-index --assume-unchanged meu_arquivo_de_configuracao.json

# Reverte a ignorância
git update-index --no-assume-unchanged meu_arquivo_de_configuracao.json

[!CALLOUT tipo=“importante”] Essa opção é mais pra “esconder” mudanças em arquivos que já estão no repositório, mas que você modifica localmente (ex: configurações de ambiente na sua máquina). Não é pra ignorar arquivos novos ou remover arquivos do histórico. Use com sabedoria!

4. Limpando arquivos não rastreados e ignorados

Seu diretório de trabalho virou um chiqueiro de arquivos temporários e você quer dar uma geral? O git clean é seu amigo.

  1. Pra ver o que seria removido sem realmente remover nada, use git clean -n.
  2. Pra remover arquivos e diretórios não rastreados que não estão no .gitignore, use git clean -fd. O -f é de “force” (obrigatório) e o -d é pra incluir diretórios.
  3. Pra remover também os arquivos e diretórios que estão no .gitignore (mas que o Git não rastreia), use git clean -fdX. O X é pra incluir os ignorados.
# Simula a remoção de arquivos não rastreados
git clean -n

# Remove arquivos e diretórios não rastreados (não ignorados)
git clean -fd

# Remove arquivos e diretórios não rastreados E ignorados
git clean -fdX

Cuidado redobrado com git clean! Ele apaga arquivos de verdade. Não tem Ctrl+Z depois, viu?

5. Utilizando .git/info/exclude para exclusões pessoais

Como mencionei antes, o exclude é o .gitignore particular de cada um microsoft.com. Ele fica dentro da pasta .git/info/ do seu repositório.

  1. Navegue até a pasta .git/info/ dentro do seu projeto.
  2. Abra o arquivo exclude (ele pode estar vazio ou nem existir, se não existir, crie-o).
  3. Adicione as regras de ignorar como faria num .gitignore normal.
  4. Salve. Essas regras só valem pra você, nesse repositório, e não serão compartilhadas.
# Conteúdo de .git/info/exclude
# Ignorar arquivos temporários da minha IDE
*.swp
.vscode/

# Ignorar um arquivo de configuração local
my_local_config.txt

Diferenças Cruciais: .gitignore vs. git update-index vs. git clean

Entender as nuances entre essas ferramentas é o que separa o programador que “se vira” do programador que “domina” o Git. Cada uma tem seu papel e sua hora de brilhar. O Git oferece, inclusive, vários mecanismos pra ignorar arquivos microsoft.com.

Eyeglasses reflecting computer code on a monitor, ideal for technology and programming themes.
Eyeglasses reflecting computer code on a monitor, ideal for technology and programming themes. — Foto: Kevin Ku
4O Git oferece pelo menos 4 mecanismos principais para ignorar ou gerenciar o rastreamento de arquivos: .gitignore, arquivo exclude em .git/info/, git rm --cached e git update-index --assume-unchanged https://learn.microsoft.com/pt-br/azure/devops/repos/git/ignore-files?view=azure-devops.

O .gitignore é a solução padrão e compartilhada. Ele serve pra arquivos que nunca deveriam entrar no controle de versão, como node_modules/, arquivos de build ou segredos. Ele afeta como o Git vê arquivos não rastreados datacamp.com. Se você quer que a equipe inteira ignore algo, coloque no .gitignore. É o nosso acordo coletivo.

Já o git update-index --assume-unchanged é mais pra um “segredinho” seu. Ele é usado quando o arquivo já está rastreado, mas você fez uma mudança local que não quer commitar . É uma solução temporária, local e não afeta o histórico ou outros desenvolvedores. Pense nisso como um “mute” temporário no Git pra um arquivo específico.

Por fim, o git clean não ignora nada, ele apaga. É uma ferramenta de limpeza pesada pra se livrar fisicamente de arquivos não rastreados (e opcionalmente, ignorados) do seu diretório de trabalho. Ele não mexe no histórico do Git ou no status de rastreamento; ele só remove a bagunça que está solta por lá. É como passar um rodo no chão do seu projeto.

A escolha da ferramenta certa depende da sua necessidade: o arquivo é novo ou já rastreado? A exclusão é permanente ou temporária? É pra você ou pra toda a equipe? Entender essas distinções é importante pra manter um fluxo de trabalho Git suave e eficiente em 2026. Pra mais detalhes sobre como lidar com cada um desses cenários, você pode consultar nosso guia completo sobre Descubra: Dominando Ignorar Arquivos Git 2026: Guia.

Erros Comuns ao Ignorar Arquivos no Git e Como Evitá-los

Mesmo com toda essa informação, é super comum cometer alguns deslizes. Eu mesmo já paguei mico de commitar um .env com senhas de dev pra depois ter que correr pra apagar. Acontece nas melhores famílias de desenvolvedores!

Eyeglasses reflecting computer code on a monitor, ideal for technology and programming themes.
Eyeglasses reflecting computer code on a monitor, ideal for technology and programming themes. — Foto: Kevin Ku
  1. Comitar arquivos sensíveis antes de ignorá-los: Esse é o campeão da dor de cabeça. Uma vez que um arquivo, como um .env com credenciais, é comitado, ele entra pro histórico do Git crazystack.com.br. Usar git rm --cached o remove do rastreamento futuro, mas a informação ainda está lá no histórico do repositório. Pra remover de vez, você precisa de ferramentas mais robustas, tipo git filter-repo ou o BFG Repo-Cleaner, que reescrevem o histórico. É um trampo, então é melhor prevenir!
  2. Não sincronizar o .gitignore entre desenvolvedores: Se cada um tiver seu .gitignore diferente (ou pior, se ele não for versionado), um desenvolvedor pode acabar committando arquivos que outro queria ignorar. O .gitignore do projeto deve ser um arquivo versionado e compartilhado com a equipe.
  3. Padrões incorretos no .gitignore: Um erro de sintaxe ou um padrão muito amplo/restrito pode fazer com que o Git ignore algo que não deveria, ou não ignore algo que deveria. Sempre teste seu .gitignore com git status depois de fazer alterações.
  4. Esquecer do cache do Git: Mesmo depois de adicionar um arquivo ao .gitignore, se ele já estava no cache do Git (ou seja, já foi rastreado em algum momento), o Git vai continuar a “vê-lo”. É aqui que o git rm --cached <arquivo> entra em ação pra resolver o problema stackoverflow.com.
  5. Misturar exclusões globais com locais sem critério: Ter um .gitignore global é massa, mas se você começa a colocar regras muito específicas de projeto nele, pode acabar escondendo arquivos importantes em outros projetos. Use o global pra coisas que realmente são genéricas (ex: .DS_Store, .vscode/).

Evitar esses erros é mais fácil do que consertá-los. Pense no .gitignore como um “check-list” de segurança e organização do seu projeto.

Estratégias Avançadas para um .gitignore Eficiente em 2026

Agora que você já tá manjando do básico e dos erros comuns, vamos elevar o nível. Manter um .gitignore eficiente é uma arte, e algumas estratégias podem te salvar um tempo danado.

Geradores de .gitignore

Não precisa reinventar a roda! Existem ferramentas online que geram .gitignores completos com base na sua stack de tecnologia. Tá usando Node.js com React e um pouco de Docker? Coloca lá, e ele te entrega um arquivo prontinho com os padrões mais comuns fossa.com. É tipo ter um chef de cozinha que já sabe as receitas mais pedidas.

[!CALLOUT tipo=“dica”] Dá uma olhada no gitignore.io ou theproductguy.in/tools/gitignore-generator/. Eles são super práticos e evitam que você esqueça padrões importantes específicos da sua tecnologia.

.gitignore Global

Essa é uma das minhas dicas favoritas. Configure um .gitignore global pra sua máquina. Ele vai ignorar arquivos em todos os seus projetos, sem que você precise adicioná-los em cada .gitignore local. Perfeito pra arquivos de sistema operacional (tipo .DS_Store), arquivos de IDE (tipo .vscode/ ou .idea/), ou qualquer coisa que você nunca queira commitar, independente do projeto.

# Configure o Git pra usar um arquivo global de exclusão
git config --global core.excludesfile ~/.gitignore_global

# Crie e edite o arquivo ~/.gitignore_global
# Exemplo de conteúdo:
# .DS_Store
# .vscode/
# *.swp
# *~

É uma mão na roda pra manter a sanidade, especialmente se você pula de um projeto pra outro o tempo todo.

Organização do .gitignore

Um .gitignore bagunçado é um convite pra confusão. Organize-o por seções, use comentários, e agrupe regras semelhantes.

# Dependências
/node_modules
/vendor

# Arquivos de Build
/build
/dist
*.o
*.a

# Logs
*.log
npm-debug.log*

# Arquivos de Sistema
.DS_Store
Thumbs.db

# Credenciais e Variáveis de Ambiente
.env
config.local.js

Isso facilita a manutenção e evita que você duplique regras ou se perca na lista.

Uso de .gitkeep

O Git não versiona diretórios vazios. Então, se você tem uma pasta logs/ que precisa existir no reposititor, mas todos os arquivos dentro dela são ignorados, o Git não vai commitar a pasta. A solução? Crie um arquivo vazio chamado .gitkeep dentro dessa pasta. Assim, a pasta é versionada, mesmo que esteja “vazia” de arquivos rastreados.

Leia também


Pronto pra escalar essa ideia?

O Narratron transforma temas como esse em roteiros de YouTube otimizados pra retenção em menos de 2 minutos — hook magnético, estrutura, SEO completo, descrição com timestamps e prompt de thumbnail prontos. 50 créditos grátis, sem cartão.

Começar grátis com o Narratron →

ignorar arquivos git git ignorar arquivos especificos como ignorar pasta no git git rm cached ignorar excluir arquivos .gitignore regras .gitignore avancadas
DavitAI logo

Conteúdo produzido por

DavitAI

Plataforma de agentes de IA para criadores de conteúdo — automatize roteiros, posts, artigos e mais.

Seja o primeiro a saber

Escolha os tópicos que te interessam e receba notificações quando publicarmos.

🔒 Pode cancelar a qualquer momento. Não enviamos spam.

Continue explorando