O que é um arquivo `.gitignore`?
Um arquivo .gitignore diz ao Git quais arquivos e diretórios deixar sem rastreamento, mantendo build output, dependências e segredos fora do seu repositório.
Um arquivo .gitignore mantém seu repositório organizado ao listar padrões de arquivos que o Git não deve rastrear. Artifacts de build, dependências instaladas, config local e segredos não pertencem ao controle de versão, e o .gitignore é como você os mantém de fora sem vê-los o tempo todo no status.
O que o `.gitignore` faz
Cada linha no .gitignore é um padrão. Arquivos que correspondem a um padrão são ignorados: o Git não os rastreará nem os mostrará como não rastreados. Isso impede que arquivos gerados e específicos da máquina bagunçem o repositório ou sejam commitados por acidente.
Padrões comuns
Um arquivo típico ignora pastas de dependências, build output e arquivos de ambiente.
node_modules/
dist/
.env
*.logO que ignorar
Bons candidatos são qualquer coisa que seja gerada, baixável ou local: diretórios de dependências, output compilado, caches, configurações de editor e, especialmente, arquivos de segredos. Uma regra fundamental é nunca commitar credenciais; ignorar arquivos .env é uma primeira linha de defesa contra vazá-los.
`.gitignore` e CI/CD
O CI instala dependências e produz build output do zero, então isso deve ser ignorado em vez de commitado; um repositório menor e mais limpo também clona mais rápido em cada job. Fundamentalmente, manter segredos fora do Git significa que o CI os obtém de um cofre seguro, e nunca do código feito checkout.
Dicas de gitignore
- Ignore dependências e build output que o CI regenera.
- Sempre ignore arquivos de segredos e de ambiente.
- Use templates específicos de linguagem como ponto de partida.
- Observe que regras de ignore não removem o rastreamento de arquivos já commitados.
Principais conclusões
- Um arquivo
.gitignorelista padrões de arquivos que o Git não deve rastrear. - Ignore output gerado, dependências e, especialmente, segredos.
- Repositórios limpos clonam mais rápido no CI e mantêm credenciais fora do código.