Um único .gitignore para toda a sua stack
Este gerador de .gitignore combina modelos prontos para linguagens, frameworks, ferramentas de build, editores e sistemas operacionais em um arquivo único. Escolha Node e Next.js, adicione macOS, Windows e VS Code, e você terá um .gitignore com seções organizadas, sem regras duplicadas e com espaço para padrões personalizados. Os modelos foram sintetizados da consagrada coleção github/gitignore oficial e tudo é montado diretamente no seu navegador.
Como gerar um arquivo .gitignore
- 1Digite uma linguagem, framework, editor ou SO no campo de busca —
python,unity,jetbrains— e clique para adicionar. Pressione Enter para adicionar o primeiro resultado. - 2Combine quantos modelos seu projeto precisar. Um projeto web comum costuma unir uma linguagem, um framework, seu editor de código e o sistema operacional.
- 3Adicione caminhos específicos nas Linhas personalizadas, como
/uploads/ou*.sqlite. - 4Copie o resultado ou clique em Baixar como
.gitignoree salve-o na raiz do seu repositório Git.
O papel do arquivo .gitignore
O .gitignore lista os arquivos que o Git não deve rastrear: dependências que o gerenciador de pacotes pode baixar novamente (node_modules/, vendor/), saídas de compilação (dist/, target/), caches, logs, configurações do editor e dados sensíveis como .env. Evitar que sejam rastreados mantém o repositório leve, os diffs legíveis e evita o vazamento de credenciais.
O arquivo afeta somente arquivos ainda não rastreados (untracked). Se algo já foi commitado, adicioná-lo ao .gitignore não o removerá do Git; execute git rm --cached <arquivo> (ou git rm -r --cached <pasta>) e faça commit para parar de rastreá-lo mantendo a cópia local.
Sintaxe dos padrões no .gitignore
A ordem das regras importa: o último padrão correspondente prevalece, por isso exceções como !.vscode/settings.json vêm após a regra geral .vscode/*.
- *.log
- Padrão sem barra funciona em qualquer profundidade: ignora todos os arquivos .log do repositório.
- /build
- Barra inicial ancora o padrão ao diretório onde está o .gitignore, ignorando apenas a pasta build na raiz.
- dist/
- Barra final corresponde exclusivamente a diretórios, não a um arquivo chamado dist.
- **/temp
- Dois asteriscos correspondem a qualquer nível de pastas: a pasta temp na raiz ou em qualquer subdiretório.
- !.env.example
- Ponto de exclamação no início reinclui um arquivo ignorado por uma regra anterior. Não pode reincluir se a pasta pai estiver ignorada.
- # comentário
- Linhas iniciadas com # são comentários; linhas em branco funcionam como separadores. Use barra invertida antes de # ou ! para usá-los literalmente.
Como os modelos são combinados
Cada modelo se torna uma seção identificada por ### Nome ###. Com a opção Remover padrões duplicados ativa, padrões repetidos são omitidos nas seções seguintes, e comentários vazios são descartados para manter o arquivo enxuto. Regras de exceção (negação) são mantidas em suas posições para preservar o funcionamento pretendido.
Modelos de ferramentas de compilação e frameworks frequentemente se sobrepõem — Node, Next.js e Vite ignoram node_modules e logs —, de modo que a desduplicação costuma reduzir o arquivo em 20% ou mais.
Arquivos ignore do projeto, globais e locais
Faça commit do .gitignore do projeto para que toda a equipe compartilhe as regras, mantendo apenas arquivos que o projeto em si produz. Arquivos criados pelo seu sistema operacional — .DS_Store, Thumbs.db, pastas do editor — devem ser colocados em um ignore global via git config --global core.excludesFile ~/.gitignore_global. Para regras exclusivas de um único repositório local, use .git/info/exclude.
Arquivos de lock como package-lock.json, poetry.lock e Cargo.lock em aplicações devem ser commitados para garantir instalações idênticas. Para inspecionar qual regra está ignorando determinado arquivo, execute git check-ignore -v caminho/do/arquivo.
Mantenha senhas e credenciais fora do Git
O modelo Env e segredos ignora arquivos .env, chaves privadas e credenciais comuns, preservando .env.example para documentação. Ignorar um segredo só protege commits futuros: se uma chave já foi enviada, revogue-a imediatamente, pois ela permanece no histórico. Ferramentas relacionadas: calculadora chmod para permissões e gerador de robots.txt para rastreadores.
Perguntas frequentes
- Onde devo colocar o arquivo .gitignore?
- Na raiz do seu repositório, junto à pasta .git. Você também pode adicionar arquivos .gitignore em subdiretórios; as regras valerão a partir daquele diretório.
- Por que o Git continua rastreando um arquivo após eu adicioná-lo ao .gitignore?
- O .gitignore afeta apenas arquivos não rastreados. Execute git rm --cached <arquivo> (ou git rm -r --cached <pasta>) e faça commit para que o Git pare de rastreá-lo sem apagar o arquivo do seu computador.
- Devo ignorar package-lock.json ou yarn.lock?
- Não, em aplicações. Arquivos de lock fixam as versões exatas de cada dependência para que toda instalação seja idêntica, devendo ser commitados. Ignore apenas arquivos de gerenciadores que seu projeto não utiliza.
- As pastas .vscode ou .idea devem ser ignoradas?
- Geralmente apenas as preferências pessoais. O modelo de VS Code ignora .vscode/* mas preserva settings.json, tasks.json e launch.json compartilhados; já o modelo JetBrains ignora toda a pasta .idea.
- Como ignoro o .DS_Store em todos os meus projetos?
- Adicione-o a um arquivo ignore global: crie o arquivo ~/.gitignore_global contendo .DS_Store e execute git config --global core.excludesFile ~/.gitignore_global.
- Como ignoro tudo em uma pasta exceto um arquivo?
- Ignore o conteúdo e não a pasta diretamente, adicionando uma negação em seguida: pasta/* seguido de !pasta/manter.txt. Usar apenas pasta/ ignora a pasta inteira e nenhum arquivo interno poderá ser recuperado.
- De onde vêm esses modelos?
- Eles foram compilados do repositório oficial github/gitignore sob licença CC0, com entradas obsoletas removidas. Sempre revise o resultado para o seu repositório.