.gitignore
Arquivo de configuração que lista arquivos e pastas que o Git não deve rastrear nem enviar ao repositório.
Para que serve o .gitignore?
Nem tudo que está na pasta do seu projeto deve ir para o GitHub. Arquivos pesados de dependências (node_modules/, vendor/), arquivos gerados automaticamente (/public/build, *.log) e principalmente senhas ou chaves secretas (.env) devem ficar apenas na máquina ou servidor.
Quando você coloca um padrão no arquivo .gitignore (na raiz do projeto), o Git passa a ignorar esses itens no git status e no git add ..
Regras mais comuns de sintaxe
arquivo.txt— ignora arquivos com esse nome em qualquer pasta./pasta/— ignora a pasta apenas na raiz do repositório.*.log— ignora qualquer arquivo terminado em.log.!.env.example— exceção (!): não ignora esse arquivo específico.
E se eu já commitei o .env ou node_modules sem querer?
O .gitignore só impede novos arquivos de serem rastreados. Se o arquivo já foi commitado antes, remova-o apenas do índice do Git (sem apagar do seu PC) com git rm --cached:
- Para arquivo:
git rm --cached .env - Para pasta inteira:
git rm -r --cached node_modules
# Dependências instaladas pelo Composer e NPM (muito pesadas e reproduzíveis)
/vendor/
/node_modules/
# Variáveis de ambiente e segredos (NUNCA versionar senhas reais!)
.env
.env.production
!.env.example
# Builds e caches locais
/public/build/
/storage/*.key
storage/logs/*.log
*.log
# Arquivos do sistema operacional e editores
.DS_Store
Thumbs.db
/.vscode/
/.idea/