O que a ferramenta faz
O gerador de .gitignore monta o arquivo .gitignore do seu repositório combinando templates prontos. Escolha as linguagens, frameworks, ferramentas de build, engines de jogos, editores e sistemas operacionais do seu projeto, e a ferramenta junta as regras em um único arquivo com um título ### Nome ### por seção, pronto para copiar ou baixar.
São cerca de sessenta templates da coleção github/gitignore: Node.js, Python, Java, Go, Rust, .NET, Swift, frameworks PHP como Laravel e Symfony, Next.js, Flutter, Android, Terraform, Unity, Unreal Engine, Godot, VS Code, IDEs da JetBrains, Vim, Emacs, macOS, Windows, Linux e outros. Tudo roda no seu navegador; nenhuma requisição é enviada.
Como usar
- Clique nos templates da lista para adicioná-los. A busca também reconhece apelidos comuns: “typescript” encontra Node.js e “intellij” encontra JetBrains.
- Os templates escolhidos aparecem no topo como etiquetas, na ordem em que você os selecionou, e o arquivo segue essa ordem. Clique em uma etiqueta para removê-la, ou em Limpar para recomeçar.
- Adicione entradas específicas do projeto em Regras personalizadas, separadas por vírgula, por exemplo
.env, /dist, *.local. Elas vão para o final em uma seção### Custom ###. - Escolha se quer manter os comentários explicativos dos templates e se quer remover regras que um template anterior já listou.
- Copie o resultado ou baixe. O download se chama
.gitignore; salve-o na raiz do repositório.
A seleção fica guardada no endereço da página, então você pode salvar nos favoritos ou compartilhar um link que reproduz o mesmo arquivo.
Exemplo
Escolhendo Node.js, macOS e VS Code com a regra personalizada .env.local e os comentários desligados, você obtém um arquivo assim (resumido):
### Node.js ###
logs
*.log
npm-debug.log*
…
node_modules/
…
### macOS ###
.DS_Store
.AppleDouble
.LSOverride
…
### VS Code ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
!*.code-workspace
*.vsix
### Custom ###
.env.local
Padrões que começam com ! voltam a incluir algo que uma regra anterior excluiu; aqui as configurações, tarefas e configurações de execução compartilhadas do VS Code ficam no repositório, enquanto o estado pessoal do editor é ignorado. Adicionar .env como regra personalizada não mudaria nada, porque o template do Node.js já o inclui.
Dicas
- Coloque as regras das suas ferramentas pessoais (arquivos de swap do editor, metadados do sistema) em um arquivo de exclusão global, para que todos os repositórios se beneficiem sem repeti-las.
- Uma barra no final, como
build/, corresponde só a diretórios; uma barra no início, como/build, prende a regra à raiz do repositório. - Use
git check-ignore -v <caminho>para ver qual linha de qual arquivo de exclusão corresponde a um caminho. - Não conte com o .gitignore para proteger segredos já commitados: troque-os e reescreva o histórico.
Perguntas frequentes
› De onde vêm os templates?
São cópias embutidas da coleção oficial github/gitignore, que o GitHub publica sob a dedicação ao domínio público CC0. Nada é baixado quando você usa a ferramenta; os templates vêm junto com a página.
› Por que um arquivo continua rastreado depois de entrar no .gitignore?
O .gitignore só afeta arquivos não rastreados. Se o arquivo já foi commitado, remova-o do índice com git rm --cached <arquivo> (ou -r para uma pasta) e faça commit; o arquivo continua no disco e passa a ser ignorado.
› O que faz Remover regras duplicadas?
Muitos templates compartilham regras: Java e Kotlin ignoram *.class, C e C++ ignoram *.o. Com a opção ligada, cada regra é escrita só na primeira vez em que aparece, e o comentário de título cujas regras foram todas removidas também sai. Desligue para obter cada template exatamente como publicado.
› Devo commitar o arquivo .gitignore?
Sim. Um .gitignore commitado vale para todos que clonam o repositório. Regras que só dizem respeito à sua máquina, como seu editor ou sistema operacional, também podem ir para um arquivo de exclusão global (git config --global core.excludesFile ~/.gitignore_global).