PK Systems PK Systems
Ferramentas para devs

Gerador de Gitignore

Escolha sua stack, sistema operacional e editor e gere um .gitignore limpo e sem repetição em um clique.

Gerador de Gitignore

Resultado

Selecione pelo menos um modelo para ver o seu .gitignore aqui.

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?
Não. A ferramenta toda roda no seu navegador. Suas seleções nunca saem da página, e a saída é só o conteúdo do arquivo .gitignore.
Onde coloco o arquivo?
Na raiz do repositório, com o nome exato .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?
Adicione a regra ao .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?
Sim. O sentido do .gitignore é regras compartilhadas — todo contribuidor precisa do mesmo arquivo. Comite como qualquer outro arquivo do projeto.
E os lockfiles?
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?
Pode ajudar. Um .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.