Gerador de Gitignore
Escolha sua stack, sistema operacional e editor e gere um .gitignore limpo e sem repetição em um clique.
O que é um arquivo .gitignore?
Um arquivo .gitignore diz ao Git quais caminhos devem ficar de fora do controle de versão. Ele fica na raiz do seu repositório e é versionado junto — assim cada clone aplica as mesmas regras. Sem ele, você acaba versionando binários compilados, pastas de dependências, caches de IDE, arquivos de log e (pior de tudo) segredos como arquivos .env. Quando isso entra no histórico, fica pesquisável pra sempre, mesmo depois de um force-push, e é por isso que acertar o .gitignore no início do projeto importa mais do que parece. Esse gerador combina padrões testados em produção para as linguagens, frameworks, sistemas operacionais e editores que você realmente usa, mantendo os cabeçalhos sem duplicatas para o arquivo continuar legível. Ele só gera padrões de caminho — nunca código-fonte — então é seguro colar direto em um repositório público. Se o seu projeto mistura backend, frontend, dois sistemas operacionais e três editores entre o time, marque tudo: o resultado é um único arquivo, não uma pasta, e o Git trata cada linha como aditiva. Use como ponto de partida e ajuste a partir daí.
Como usar
1. Escolha seus modelos
Clique em qualquer chip nas listas de linguagem, sistema operacional ou editor. Use o campo de filtro no topo se a lista ficar comprida — ele casa tanto pelo rótulo quanto pela chave interna.
2. Revise a saída
Cada modelo recebe seu próprio cabeçalho comentado (# === Node.js ===) para você identificar de relance qual regra veio de onde. A ordem é a ordem em que você clicou.
3. Copie ou baixe
Copie tudo para a área de transferência ou clique em Baixar para salvar direto como .gitignore. Coloque na raiz do repositório antes do primeiro commit.
4. Ajuste se precisar
Trate a saída como ponto de partida. Adicione caminhos específicos do projeto (uploads, docs gerados, arquivos de rascunho) no final, e remova qualquer regra que não se aplica ao seu setup.
O que cada regra faz
Os padrões do .gitignore seguem regras simples. Um caminho literal como node_modules/ ignora esse diretório onde quer que ele apareça. Uma barra inicial (/dist) ancora o padrão na raiz do repositório. Os caracteres glob funcionam como esperado: *.log casa por extensão, **/cache recursiva, e colchetes como *.[oa] casam um conjunto de caracteres. Um ! inicial nega uma regra anterior — é assim que o Unity preserva os arquivos .meta mesmo quando o alvo está ignorado. Linhas começando com # são comentários. Barra no final significa “apenas diretório”. Arquivos já rastreados não são afetados — para parar de versionar um arquivo depois de adicioná-lo ao .gitignore, rode git rm --cached caminho.
Quando adicionar o quê
Use modelos de linguagem e framework para artefatos de build e pastas de dependência (node_modules/, vendor/, target/). Adicione o modelo de SO para os sistemas que o time usa — macOS espalha .DS_Store em todo lugar e Windows espalha Thumbs.db. Adicione um modelo de editor para a IDE padrão do time; se há mistura, adicione todos. Regra prática: ao menos uma stack + um SO + um editor para qualquer repositório novo. Evite ignorar lockfiles (package-lock.json, composer.lock, Gemfile.lock) — eles devem ser versionados para builds reprodutíveis.
Perguntas frequentes
Isso vai versionar algum código meu?
.gitignore.Onde coloco o arquivo?
.gitignore (com o ponto inicial). Você pode ter .gitignores adicionais em subpastas — o Git aplica o mais próximo a cada caminho.Já commitei arquivos que deveriam ser ignorados. E agora?
.gitignore e rode git rm --cached caminho para parar de rastrear o arquivo (ele continua no disco). Comite isso e, daí em diante, o Git deixa em paz. Para segredos que já entraram no histórico, troque-os e reescreva o histórico com git filter-repo.Devo commitar o próprio .gitignore?
.gitignore é regras compartilhadas — todo contribuidor precisa do mesmo arquivo. Comite como qualquer outro arquivo do projeto.E os lockfiles?
package-lock.json, yarn.lock, composer.lock, Gemfile.lock, poetry.lock) devem ser versionados, não ignorados. Eles fixam versões exatas para todo mundo ter o mesmo build. Os modelos aqui não ignoram lockfiles por padrão — Rails é a exceção histórica em alguns setups, e mantemos a convenção upstream.Preciso também de um gitignore global?
.gitignore global (configurado com git config --global core.excludesFile) é o lugar certo para o lixo pessoal de editor e SO, para você não repetir em todo repositório. Regras de projeto ainda devem cobrir linguagem, framework e configurações de editor combinadas com o time.
EN
PT
ES