Pular para o conteúdo principal

Como usar o .gitignore: Uma introdução prática com exemplos

Saiba como usar o .gitignore para manter seu repositório Git limpo. Este tutorial aborda os conceitos básicos, casos de uso comuns e exemplos práticos para ajudar você a começar!
Actualizado 4 de mar. de 2025  · 17 min de leitura

Ao trabalhar com o Git, manter o repositório limpo e organizado não é apenas uma prática recomendada, mas é essencial para uma colaboração tranquila e um controle de versão eficiente. É aí que entra o .gitignore. Esse prático arquivo informa ao Git quais arquivos você deve ignorar, evitando a desordem desnecessária e mantendo seus commits focados no que realmente importa.

Sem o .gitignore, seu repositório pode se encher rapidamente de arquivos temporários, logs e outros itens que não pertencem ao controle de versão. Pior ainda, você pode acidentalmente compartilhar informações confidenciais.

Neste tutorial, você aprenderá a criar e usar um arquivo .gitignore para manter seu projeto organizado, evitar armadilhas comuns e trabalhar com mais eficiência com o Git. Vamos mergulhar de cabeça!

O que é um arquivo .gitignore?

Um arquivo .gitignore é um arquivo de configuração usado no Git para instruir o sistema de controle de versão sobre quais arquivos ou diretórios devem ser ignorados quando as alterações são preparadas ou confirmadas. 

Ele evita que arquivos desnecessários - como arquivos temporários, gerados pelo sistema ou relacionados à compilação - atrapalhem o repositório. Ao manter o repositório limpo, você facilita a colaboração e garante que apenas os arquivos essenciais sejam programados.

O arquivo .gitignore é um arquivo de texto simples colocado no diretório raiz do seu repositório Git. Ele contém padrões que informam ao Git quais arquivos ou diretórios você deve ignorar. Esses padrões podem ser personalizados para atender às necessidades do seu projeto, ajudando você a manter um repositório bem organizado.

Você é novo no Git e no GitHub? Obtenha uma introdução amigável para iniciantes ao controle de versão com este tutorial do GitHub e do Git.

Aqui estão algumas categorias comuns de arquivos e diretórios que você deve considerar ignorar:

  • Crie artefatos: Arquivos gerados durante o processo de compilação que podem ser recriados a partir do código-fonte, como:
    • dist/build/ (resultados de construção de front-end e back-end)
    • target/ (Java e outras compilações de linguagem compilada)
  • Dependências: Os sistemas de gerenciamento de pacotes criam diretórios para as bibliotecas instaladas, que não devem ser programadas:
    • node_modules/ (Node.js)
    • vendor/ (PHP, Composer)
    • .venv/Você pode usar o site venv/ (ambientes virtuais Python)
  • Arquivos específicos do sistema: Esses arquivos são gerados automaticamente pelo sistema operacional e não contribuem para o projeto:
    • .DS_Store (macOS)
    • Thumbs.db (Windows)
  • Arquivos de configuração do IDE: Cada desenvolvedor pode usar um ambiente de desenvolvimento diferente, portanto, suas configurações pessoais não devem ser incluídas no controle de versão:
    • .vscode/ (Código VS)
    • .idea/ (IDEs da JetBrains)
    • .project, .settings/ (Eclipse)
  • Registros e arquivos temporários: Os registros, caches e arquivos temporários devem ser ignorados para evitar desordem desnecessária:
    • *.log, npm-debug.log*, yarn-debug.log*, yarn-error.log* (Registros de várias ferramentas)
    • *.tmp, *.bak (arquivos temporários e de backup)
    • .mypy_cache/, __pycache__/ (caches do Python)
    • .ipynb_checkpoints/ (Pontos de verificação do Jupyter Notebook)
  • Ambiente e arquivos secretos: As credenciais confidenciais e as configurações específicas do ambiente nunca devem ser confirmadas:
    • .env, .env.local, .env.development, .env.production
    • secrets.json, config.json (arquivos de configuração confidenciais)
  • Banco de dados e arquivos de armazenamento: Eles são gerados localmente e não devem ser incluídos no controle de versão:
    • *.sqlite, *.sqlite3, *.db (arquivos de banco de dados SQLite)
    • dump.rdb (despejo do banco de dados Redis)
  • CI/CD e arquivos de cobertura: Os relatórios de cobertura de teste e outros artefatos de CI/CD devem ser ignorados:
    • coverage/, *.lcov (Relatórios de cobertura de código)
    • .tox/, .pytest_cache/ (arquivos de teste do Python)

Você precisa instalar o Git? Siga nosso guia passo a passoe neste tutorial de instalação do Git para que você possa configurá-lo rapidamente.

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.
Comece a aprender de graça

Sintaxe de .gitignore

Conforme mencionado, os arquivos .gitignore contêm padrões que são comparados com os nomes de arquivos no seu repositório para determinar se eles devem ou não ser ignorados.

Sintaxe básica

Em sua essência, o arquivo .gitignore consiste em linhas, cada uma representando um padrão a ser ignorado. Os padrões podem corresponder:

  • Arquivos específicos
  • Tipos de arquivos
  • Diretórios 

O arquivo também suporta comentários, que podem ser adicionados iniciando uma linha com #, e linhas em branco para melhorar a legibilidade.

Aqui está uma visão geral da estrutura básica:

  • Ignorar um arquivo específico: Você pode listar o nome do arquivo diretamente para ignorá-lo.
secrets.txt
  • Ignorar um diretório inteiro: Ao adicionar um / no final do nome do diretório, você pode ignorar tudo o que estiver dentro desse diretório.
logs/
  • Ignorar todos os arquivos de um tipo específico: Os curingas (*) podem ser usados para ignorar todos os arquivos com uma extensão específica.
*.py
  • Negação: Você pode usar ! para negar um padrão e rastrear explicitamente determinados arquivos ou diretórios que, de outra forma, seriam ignorados.
*.txt  # Ignores all .txt files
!readme.txt  # Except for readme.txt

Como criar e usar um arquivo .gitignore

Criar e usar o site .gitignore é bastante simples. Nesta seção, examinarei as etapas.

Criando um arquivo .gitignore

Etapa 1: Navegue até a raiz do seu repositório. O arquivo .gitignore é normalmente colocado no diretório raiz de um projeto Git. Abra o terminal ou a linha de comando e navegue até o diretório raiz do seu repositório Git:

cd /path/to/your/repo

Etapa 2: Crie o arquivo .gitignore. Uma vez no diretório raiz, crie o arquivo .gitignore usando qualquer editor de texto ou executando um comando no terminal, como, por exemplo, " ":

touch .gitignore

Etapa 3: Adicione padrões ao arquivo. Abra o arquivo .gitignore em um editor de texto e adicione os padrões necessários para ignorar arquivos ou diretórios. Cada linha representa um padrão diferente.

Aqui está um exemplo de arquivo .gitignore comumente usado em um projeto básico:

# Ignore node_modules and dependency directories
node_modules/
vendor/

# Ignore build artifacts
dist/
build/
*.log

# Ignore system-generated files
.DS_Store
Thumbs.db

# Ignore environment and secret files
.env
config.json

Quando você tiver adicionado os padrões necessários, salve o arquivo. Agora, o Git ignorará automaticamente esses arquivos ao preparar ou fazer o commit das alterações.

Etapa 4: Faça o commit do arquivo no repositório. É importante que você envie o arquivo .gitignore para o repositório para que todos os colaboradores usem as mesmas regras de ignorar. Isso garante a consistência em todo o projeto para todos os envolvidos.

git add .gitignore
git commit -m "Add .gitignore file"
git push

Depois que o arquivo .gitignore for confirmado, você estabelecerá regras de ignorar compartilhadas para toda a equipe.

Você quer dominar o push e o pull no Git? Saiba como sincronizar seu trabalho com repositórios remotose neste tutorial de push e pull do Git.

Práticas recomendadas para usar o .gitignore

Embora a criação de um arquivo .gitignore seja uma parte simples da manutenção de um repositório Git limpo, várias práticas recomendadas devem ser seguidas para garantir que o arquivo seja gerenciado de forma eficaz ao longo do tempo.

Use um .gitignore global

Para os desenvolvedores que trabalham em vários projetos, há arquivos específicos que você pode querer excluir de cada repositório, independentemente do tipo de projeto.

Em vez de adicioná-los ao arquivo .gitignore de cada projeto, você pode configurar um .gitignore global que se aplique a todos os repositórios do seu sistema.

Para configurar um arquivo global .gitignore:

  • Crie um arquivo .gitignore_global:
touch ~/.gitignore_global
  • Adicione padrões para arquivos que você deseja ignorar globalmente, como:
.DS_Store
*.log
/.vscode/
/.idea/
  • Defina o Git para usar o site global .gitignore:
git config --global core.excludesfile ~/.gitignore_global

Aproveite os modelos existentes

Em vez de criar um arquivo .gitignore do zero para cada novo projeto, você pode aproveitar os modelos .gitignore pré-configurados para linguagens, estruturas ou ambientes específicos.

Um dos melhores recursos para esses modelosé o repositório .gitignore oficial do GitHub, onde você pode encontrar arquivos .gitignore adaptados a centenas de linguagens de programação e estruturas.

Revisar o .gitignore regularmente

À medida que os projetos evoluem, pode ser necessário incluir novos arquivos e diretórios no arquivo .gitignore. É importante revisar e atualizar periodicamente seu arquivo para refletir o estado atual de seus projetos.

Alguns cenários em que você pode precisar atualizar o arquivo .gitignore incluem:

  • Adotar novas ferramentas ou bibliotecas que geram arquivos adicionais (por exemplo, mudar para um novo sistema de compilação).
  • Refatoração ou reorganização de diretórios, o que pode resultar em novos arquivos que devem ser excluídos.
  • Remoção de arquivos ou diretórios obsoletos que não fazem mais parte do projeto.

Solução de problemas com o .gitignore

Mesmo depois de configurar um arquivo .gitignore, você pode se deparar com cenários em que arquivos específicos estão sendo rastreados ou em que os padrões não parecem funcionar como esperado. Esta seção abordará duas áreas comuns de solução de problemas e como resolvê-las.

Programa de arquivos já confirmados 

O arquivo .gitignore não se aplica retroativamente a arquivos já confirmados. 

Se você adicionar um padrão a .gitignore depois que determinados arquivos já tiverem sido confirmados, o Git continuará a rastreá-los, mesmo que correspondam ao padrão no arquivo .gitignore.

Para parar de programar arquivos que já foram confirmados, siga estas etapas:

  • Remova os arquivos do programa Git: Use o comando git rm para removê-los do repositório e mantê-los em seu diretório de trabalho.
git rm --cached <file_or_directory_name>
  • Confirmar as alterações: Depois de remover os arquivos do rastreamento do Git, faça o commit das alterações para garantir que os arquivos não façam mais parte do histórico de controle de versão.
git commit -m "Stop tracking ignored files"
  • Envie as alterações para o repositório remoto: Por fim, envie as alterações para o repositório remoto para garantir que os arquivos não sejam mais programados.
git push

Depois de executar essas etapas, o Git deixará de rastrear os arquivos. O arquivo confirmado ainda estará no seu diretório de trabalho, mas será ignorado por futuros commits com base nos seus padrões .gitignore.

Verifique se os padrões estão funcionando 

Às vezes, você pode notar que arquivos específicos que você esperava que fossem ignorados ainda aparecem no status do Git ou estão sendo programados. 

Siga estas etapas para garantir que os padrões do .gitignore estejam funcionando corretamente:

  • Verifique o status dos seus arquivos: Use o comando git status para ver quais arquivos estão sendo monitorados pelo Git. Isso ajudará você a verificar se os arquivos ignorados ainda estão listados.
git status
  • Verifique se o padrão está correto: Verifique novamente a sintaxe dos padrões do site .gitignore para garantir que eles estejam formatados corretamente. Por exemplo:
    • Certifique-se de que você use o caminho correto do diretório (relativo à raiz do repositório).
    • Adicione um / para direcionar diretórios específicos e evitar que você rastreie todos os arquivos com nomes semelhantes.
  • Atualize o cache: Se você atualizou recentemente o arquivo .gitignore e as alterações não estão sendo aplicadas, o Git pode estar mantendo o cache anterior. Para atualizar o cache, execute o seguinte comando:
git rm -r --cached .
git add .
git commit -m "Refresh .gitignore"
  • Verifique se há exceções: Às vezes, um padrão específico em .gitignore pode ser substituído por um padrão mais específico em outra parte do arquivo. Revise suas regras para garantir que não haja padrões conflitantes.

Você está procurando uma referência rápida do Git? Mantenha os comandos essenciais ao alcance de seus dedoscom esta folha de dicas do Git.

Conclusão

Um arquivo .gitignore pode parecer pequeno, mas ele desempenha um papel importante para manter o repositório Git limpo e gerenciável. Ao ignorar arquivos desnecessários - como dependências, artefatos de compilação e arquivos gerados pelo sistema - você garante que seu projeto permaneça organizado e livre de desordem.

Neste tutorial, você aprendeu a criar um arquivo .gitignore, adicionar padrões e aplicar práticas recomendadas para manter seu repositório eficiente. Com essas habilidades, você evitará dores de cabeça com o controle de versão e tornará a colaboração mais fácil para todos na sua equipe.

Se você deseja aprofundar suas habilidades no Git, confira Git Fundamentals para obter um caminho de aprendizagem estruturado. Você também pode explorar cursos práticos, como Foundations of Git e Introduction to GitHub Concepts, para desenvolver uma sólida compreensão do controle de versão e dos fluxos de trabalho de colaboração!

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.

Perguntas frequentes

O .gitignore remove arquivos que já são programados pelo Git?

Não, o .gitignore só impede que novos arquivos sejam programados. Se um arquivo já estiver no controle de versão, adicioná-lo a .gitignore não o removerá. Para parar de rastrear um arquivo que já foi confirmado, você precisa usar:

git rm --cached filename

Em seguida, confirme as alterações.

Posso ter vários arquivos .gitignore em um projeto?

Sim! Você pode colocar os arquivos .gitignore em diferentes diretórios do seu projeto. Cada um deles se aplica somente aos arquivos em seu diretório e subdiretórios.

Como faço para ignorar todos os arquivos de um determinado tipo?

Você pode usar curingas. Por exemplo, para ignorar todos os arquivos .log:

*.log

Isso excluirá todos os arquivos com a extensão .log.

Você pode ignorar um arquivo específico, mas ainda assim rastreá-lo para meu próprio trabalho?

Sim, mas você deve garantir manualmente que ele não seja confirmado. Uma maneira de fazer isso é usar git update-index --assume-unchanged filename, uma solução temporária. Uma abordagem melhor é usar um arquivo global .gitignore (consulte a próxima pergunta).

O que é um arquivo .gitignore global e como posso configurá-lo?

Um .gitignore global é usado para ignorar arquivos em todos os repositórios do seu computador. Isso é útil para arquivos específicos do sistema, como .DS_Store ou Thumbs.db. Para criar e configurar um site global .gitignore:

git config --global core.excludesfile ~/.gitignore_global

Em seguida, adicione padrões ao site ~/.gitignore_global conforme necessário.

Por que meu arquivo .gitignore não está funcionando?

Se o .gitignore não estiver ignorando um arquivo, verifique se há esses problemas comuns:

  • O arquivo já está programado - você precisa removê-lo usando git rm --cached filename.
  • O padrão .gitignore pode estar incorreto - verifique novamente a sintaxe.
  • Há uma regra conflitante - o Git aplica a última regra correspondente, portanto, a ordem é importante.

Posso ignorar um diretório, mas manter um arquivo específico dentro dele?

Sim! Use uma regra de exclusão. Por exemplo, para ignorar tudo em uma pasta, exceto keepme.txt:

folder_name/*
!folder_name/keepme.txt

O que acontece se dois membros da equipe tiverem arquivos .gitignore diferentes?

Se o .gitignore for confirmado no repositório, todos os membros da equipe seguirão as mesmas regras. No entanto, se uma pessoa modificar o site .gitignore localmente, mas não fizer o commit da alteração, ela poderá ter arquivos ignorados diferentes. É melhor manter o .gitignore versionado e acordado pela equipe.

Como posso verificar quais arquivos estão sendo ignorados?

Execute o seguinte comando para ver o que .gitignore está excluindo:

git status --ignored

Ou, para obter uma lista mais detalhada:

git check-ignore -v filename

Posso desfazer o fato de ignorar um arquivo no .gitignore?

Sim! Remova o arquivo de .gitignore e, em seguida, rastreie-o novamente usando o programa:

git add filename

Em seguida, confirme as alterações.


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Temas

Saiba mais sobre o Git com estes cursos!

curso

Introduction to Git

2 hr
15.2K
Discover the fundamentals of Git for version control in your software and data projects.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Git

blog

O que é Git? Manual completo do Git

Saiba mais sobre o sistema de controle de versão mais conhecido e por que é uma ferramenta de colaboração indispensável para cientistas de dados e programadores.
Summer Worsley's photo

Summer Worsley

14 min

blog

O que é o Data Wrangling? Um guia prático com exemplos

Aprenda os conceitos e as teorias fundamentais por trás da organização de dados, além de alguns exemplos práticos. Use essas habilidades em seu trabalho diário de ciência de dados para gerar dados limpos e úteis para seus modelos.
Tim Lu's photo

Tim Lu

12 min

tutorial

Tutorial do GitHub e do Git para iniciantes

Um tutorial para iniciantes que demonstra como funciona o controle de versão do Git e por que ele é crucial para projetos de ciência de dados.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Git Prune: O que é o Git Pruning e como usar o Git Prune

O Git prune é um comando do Git que remove objetos do repositório que não são mais acessíveis a partir de qualquer commit ou branch, ajudando a liberar espaço em disco.
François Aubry's photo

François Aubry

5 min

tutorial

Tutorial de push e pull do GIT

Saiba como realizar solicitações Git PUSH e PULL por meio do GitHub Desktop e da linha de comando.

Olivia Smith

13 min

tutorial

Git Rename Branch: Como renomear uma filial local ou remota

Saiba como renomear ramificações locais e remotas do Git usando o terminal ou a interface gráfica do usuário (GUI) de clientes populares como o GitHub.
François Aubry's photo

François Aubry

Ver maisVer mais