O que é um arquivo .gitignore?
Um arquivo .gitignore é um documento de texto simples colocado na raiz do seu repositório Git. Ele define arquivos e padrões que o Git deve ignorar deliberadamente, evitando que saídas de build, variáveis de ambiente locais, pastas de dependências e arquivos temporários do sistema sejam enviados ao controle de versão.
Onde devo colocar o arquivo .gitignore?
Coloque o arquivo .gitignore no diretório raiz do seu projeto (por exemplo, /meu-projeto/.gitignore). Na raiz, suas regras se aplicam recursivamente a todos os arquivos e subpastas do repositório. Você também pode adicionar arquivos .gitignore adicionais em subpastas se precisar de regras específicas para caminhos determinados.
Posso combinar múltiplos modelos de .gitignore?
Sim. Projetos modernos quase sempre combinam várias tecnologias (por exemplo, Python + React + Docker + macOS + VS Code). O DotGitIgnore permite selecionar quantos modelos você precisar, resolvendo sobreposições e deduplicando regras idênticas em um único arquivo limpo.
Como ignorar uma pasta inteira no Git?
Para ignorar um diretório inteiro e todo o seu conteúdo, adicione uma barra no final do nome em seu arquivo .gitignore (por exemplo, node_modules/ ou build/). Um padrão sem barra final casa tanto com arquivos quanto com pastas de mesmo nome, enquanto a barra restringe a regra apenas a diretórios.
Como parar de rastrear um arquivo que já foi comitado?
Adicionar um arquivo ao .gitignore não o remove do Git se ele já foi comitado em versões anteriores. Para parar de rastreá-lo sem apagá-lo do seu disco local, execute 'git rm --cached <arquivo>' (ou 'git rm -r --cached <pasta>/' para pastas) e confirme com um commit.
Posso editar o arquivo .gitignore gerado?
Sim. O conteúdo gerado pelo DotGitIgnore é texto de configuração padrão do Git. Você pode adicionar caminhos próprios do projeto, personalizar segredos de ambiente, incluir comentários ou desativar regras livremente no gerador ou no seu editor de código após o download.
Como usar o .gitignore no Git?
Crie um arquivo chamado .gitignore na raiz do repositório, adicione as regras relativas que deseja excluir (como dist/, .env ou *.log) e comite o arquivo no Git com 'git add .gitignore && git commit -m "Add .gitignore"'. A partir daí, o Git ignorará novos arquivos não rastreados que correspondam a essas regras.
Como o .gitignore funciona internamente?
Ao verificar o diretório de trabalho (por exemplo, durante 'git status' ou 'git add .'), o Git compara os arquivos não rastreados com os padrões definidos na hierarquia do .gitignore. Se um arquivo corresponder a um padrão e não for resgatado por uma regra de negação '!', o Git o ignora na indexação.
O que o .gitignore faz exatamente?
Um arquivo .gitignore instrui o Git sobre quais arquivos e pastas não rastreados devem ser excluídos do controle de versão. Ele impede que caches temporários, binários compilados, pacotes de terceiros, arquivos do sistema operacional (.DS_Store) e senhas secretas poluam os commits ou sejam enviados a repositórios remotos.
O arquivo .gitignore deve ser versionado no repositório?
Sim. Em praticamente todas as situações, o .gitignore deve ser comitado no repositório para que todos os colegas de equipe e pipelines de CI/CD compartilhem as mesmas regras. Para preferências pessoais do seu editor local, utilize o arquivo .git/info/exclude ou um gitignore global.
Por que o .gitignore não está ignorando meus arquivos?
O motivo mais frequente é que o arquivo já está sendo rastreado pelo Git. O .gitignore só atua em arquivos que ainda não foram comitados. Para corrigir, remova o arquivo do índice com 'git rm --cached <arquivo>' e comite. Outras causas comuns são erros de sintaxe nos padrões ou barras iniciais no local errado.
O que acontece se adicionar o próprio .gitignore no .gitignore?
Se o .gitignore já foi comitado, adicionar a si mesmo não tem efeito porque o Git já o está rastreando. Se você o adicionar antes do primeiro commit, o Git ignorará o próprio arquivo, impedindo que você o compartilhe com seu time. Na prática, nunca se deve ignorar o .gitignore.
Como saber se uma regra do .gitignore está funcionando?
Você pode testar se um arquivo está sendo ignorado com o comando 'git check-ignore -v <caminho>'. Se estiver ignorado, o Git exibirá o arquivo .gitignore de origem, o número da linha e o padrão correspondente. Execute também 'git status --ignored' para listar todos os arquivos excluídos.
Quais são as melhores práticas para usar o .gitignore?
Crie o arquivo antes de fazer o primeiro commit do projeto, organize as regras em grupos lógicos (dependências, compilação, credenciais locais), versione o .gitignore no Git e configure ferramentas pessoais no seu gitignore global. O DotGitIgnore ajuda você a iniciar com regras limpas e deduplicadas.
O que devo colocar dentro do arquivo .gitignore?
Inclua diretórios de build (dist/, build/), pastas de dependências (node_modules/, vendor/), credenciais de ambiente (.env*), binários gerados (*.class, *.o) e logs de execução (*.log). Nunca ignore código-fonte, exemplos de configuração (.env.example) ou arquivos de lock de dependências.
Posso ter vários arquivos .gitignore em um repositório?
Sim. O Git aceita múltiplos arquivos .gitignore na árvore de diretórios. Os padrões de um .gitignore em uma subpasta afetam apenas ela e suas pastas filhas, sobrepondo-se às regras da raiz. Isso é extremamente útil em monorepos com múltiplas linguagens ou microsserviços.
Como ignorar um arquivo específico no Git?
Para ignorar um arquivo em qualquer local do projeto, adicione seu nome ao .gitignore (por exemplo, segredo.txt). Para restringi-lo apenas à raiz, use uma barra no início (/segredo.txt). Para ignorar um arquivo em uma pasta específica, declare o caminho relativo (config/credenciais.json).
Como ignorar variáveis de ambiente e arquivos .env?
Adicione .env e variantes (.env.local, .env.*.local) ao seu .gitignore para evitar vazar chaves de API e credenciais de bancos de dados. Comite sempre um arquivo como .env.example com valores fictícios para orientar a equipe sobre as variáveis requeridas sem expor dados confidenciais.
Qual é a diferença entre .gitignore e .git/info/exclude?
O arquivo .gitignore é versionado no Git e compartilhado com todos os colaboradores, ideal para regras do projeto (como dependências e builds). Já o .git/info/exclude fica dentro de .git/ na sua máquina, nunca é comitado ou enviado remotamente, sendo perfeito para regras estritamente pessoais.
Para que serve o ponto de exclamação (!) no .gitignore?
O ponto de exclamação (!) serve para negar um padrão, ou seja, reativar o rastreamento de um arquivo excluído por uma regra anterior (por exemplo, *.log seguido de !importante.log). Lembre-se: o Git não consegue reativar um arquivo se a pasta que o contém estiver totalmente ignorada.
Como forçar o Git a rastrear um arquivo ignorado?
Você pode forçar a adição de um arquivo ignorado com o argumento -f (ou --force): 'git add -f caminho/do/arquivo'. Depois de comitado, o arquivo continuará sendo rastreado pelo Git mesmo correspondendo a regras do .gitignore, até que seja desvinculado com 'git rm --cached'.