Gerador de .gitignore — modelos para todas as linguagens e IDEs

Combine modelos de .gitignore para linguagens, frameworks, editores e sistemas operacionais em um único arquivo limpo.

Início rápido
Pressione Enter para adicionar o primeiro resultado.
Node.jsmacOSWindowsVisual Studio Code
Linguagem
Framework
Editor / IDE
Sistema operacional
Ferramenta / plataforma
.gitignore
### Node.js ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage
coverage
*.lcov
.nyc_output

# Dependencies
node_modules/
jspm_packages/
bower_components

# Caches
.npm
.eslintcache
.stylelintcache
.cache
.parcel-cache
*.tsbuildinfo
.node_repl_history
*.tgz

# Yarn
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Environment
.env
.env.*
!.env.example

# Build output
dist
build
out

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Custom folder icons (the real file name is "Icon" followed by a carriage return)
Icon?

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

### Visual Studio Code ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix
74 padrões

Os navegadores costumam salvar um arquivo que começa com ponto como “gitignore.txt”; renomeie-o exatamente para .gitignore na raiz do projeto.

Funciona inteiramente no seu navegador. Os modelos vêm junto com a página; nada é buscado nem enviado. Ver todas as ferramentas grátis.

Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.

Este gerador de .gitignore monta um arquivo .gitignore a partir de modelos para as linguagens, frameworks, editores e sistemas operacionais do seu projeto. Escolha Node.js, Python, Unity, JetBrains, macOS ou qualquer um dos mais de 60 outros, ou comece por uma stack como “App Next.js”, e os modelos são combinados em um único arquivo com um cabeçalho por seção. Padrões que aparecem em mais de um modelo são escritos uma só vez.

Os modelos foram escritos a partir da coleção github/gitignore, amplamente usada, sem os blocos longos de comentários, e vêm embutidos na página, então ela funciona offline e nada sobre o seu projeto é enviado a lugar nenhum. A remoção de duplicatas é feita com cuidado, porque a ordem importa no .gitignore: depois que um modelo reinclui algo com uma regra “!”, as duplicatas seguintes são mantidas, para não arriscar mudar o que é ignorado. Um .gitignore só afeta arquivos não rastreados; veja nas perguntas frequentes o que fazer com arquivos que o Git já rastreia.

Como usar

  1. Clique em uma stack de “Início rápido” ou pesquise os modelos e marque os que o seu projeto usa: linguagem, framework, editor e sistema operacional.
  2. Remova os que não precisar com o × no respectivo marcador.
  3. Acrescente regras específicas do projeto, como uma pasta uploads/, em “Suas próprias regras”.
  4. Copie o resultado, ou baixe-o e salve como .gitignore na raiz do repositório.
  5. Faça o commit: git add .gitignore && git commit -m "Add .gitignore".

Perguntas frequentes

Por que um arquivo continua rastreado depois que o adicionei ao .gitignore?

Um .gitignore só impede que arquivos não rastreados sejam adicionados. Se o Git já rastreia o arquivo, continua rastreando. Remova-o do índice sem apagá-lo do disco com git rm --cached caminho/do/arquivo (ou git rm -r --cached pasta/) e depois faça o commit. Se ele continha um segredo, o segredo ainda está no histórico e deve ser trocado.

Devo fazer commit do arquivo .gitignore?

Sim. Ele pertence ao repositório, para que todos que clonarem o projeto ignorem as mesmas pastas de build e de dependências. Regras que só valem para você, como os arquivos do seu editor, podem ir em .git/info/exclude para um repositório ou em um arquivo de ignore global definido com git config --global core.excludesFile ~/.gitignore_global.

O package-lock.json ou o yarn.lock devem ser ignorados?

Não; em aplicativos, faça commit do arquivo de lock. Ele registra as versões exatas das dependências que foram testadas, então toda instalação e toda execução de CI obtém a mesma árvore. O mesmo vale para poetry.lock, Pipfile.lock, Cargo.lock em binários, Gemfile.lock e composer.lock. Nenhum dos modelos daqui os ignora.

O que os padrões significam?

Uma barra no final (build/) corresponde só a diretórios. Uma barra no início (/build) prende o padrão ao diretório que contém o .gitignore. * corresponde a qualquer coisa exceto uma barra, ** atravessa diretórios (logs/**/*.log) e ? corresponde a um caractere. Uma linha que começa com ! reinclui algo que um padrão anterior excluiu, e # inicia um comentário, mas só no começo da linha.

Por que a minha regra de negação (!) não funciona?

O Git não consegue reincluir um arquivo se um dos diretórios pais dele estiver excluído, porque nunca olha dentro de um diretório ignorado. Em vez de ignorar a pasta (logs/), ignore o conteúdo dela (logs/*) e depois reinclua o arquivo (!logs/.gitkeep). A ordem também importa: a linha com ! precisa vir depois do padrão que ela sobrepõe.

Consigo verificar por que um arquivo está sendo ignorado?

Sim: git check-ignore -v caminho/do/arquivo mostra o arquivo .gitignore, o número da linha e o padrão que correspondeu. git status --ignored lista todos os arquivos ignorados na árvore de trabalho.

O que deve ir em um .gitignore

• Dependências que um gerenciador de pacotes reinstala: node_modules/, vendor/, .venv/, Pods/.

• Saída de build e caches: dist/, build/, target/, .next/, __pycache__/, *.class, relatórios de cobertura.

• Segredos locais e arquivos de ambiente: .env, *.pem, JSON de credenciais. Em vez deles, faça commit de um .env.example com valores de exemplo.

• Sujeira de editor e de sistema operacional: .DS_Store, Thumbs.db, .idea/, a maior parte de .vscode/.

• Logs, dumps de falhas e bancos de dados locais: *.log, *.sqlite (a menos que o banco seja uma fixture proposital).

Mantenha no repositório: código-fonte, arquivos de lock, configurações de que todo desenvolvedor precisa e configurações de editor compartilhadas, como .vscode/extensions.json, que o modelo do VS Code reinclui de propósito.

Onde o Git procura regras de ignore

O Git combina várias fontes, da maior para a menor prioridade: padrões passados na linha de comando; arquivos .gitignore no mesmo diretório do caminho e depois em cada diretório pai até a raiz do repositório (um .gitignore em um subdiretório só vale dali para baixo); .git/info/exclude, que é local e nunca vai para o commit; e o arquivo global indicado por core.excludesFile, que por padrão é ~/.config/git/ignore. Coloque regras de sistema operacional e de editor no arquivo global se preferir que o .gitignore de cada projeto trate só do projeto.

Ferramentas grátis relacionadas

  • Calculadora chmod — Marque as caixas de Leitura, Escrita e Execução para obter o modo octal e o comando chmod, ou decodifique 755, 644 e rwxr-xr-x.
  • Docker Run ⇄ Compose — Transforme um comando docker run num serviço do docker-compose.yml, ou um serviço do Compose de volta em docker run.
  • Testador de regex — Teste uma expressão regular num texto de exemplo, com destaque das correspondências ao vivo, grupos de captura e prévia de substituição. Grátis, no navegador.
  • Formatador de JSON — Formate, minifique e valide JSON, com erros de parsing localizados por linha e coluna. No seu navegador, sem upload.