Como ignorar .env e manter .env.example?

Mantenha valores reais fora do controle de versão e compartilhe um .env.example revisado com valores fictícios. Confira as convenções do framework antes de usar uma regra ampla.

1. Ignore valores locais e mantenha o exemplo

Coloque estas regras no .gitignore da raiz. Elas cobrem .env e arquivos da raiz que começam com .env., reincluindo .env.example. Não cobrem service.env nem arquivos em subdiretórios.

Revise .env.example antes do commit: o nome de exemplo não garante que os valores sejam seguros para publicar. Use valores fictícios e documente as variáveis necessárias.

/.env
/.env.*
!/.env.example

2. Verifique os três casos

Com .env, .env.local e .env.example não rastreados, confira as regras correspondentes:

git check-ignore -v -- .env .env.local .env.example

!/.env.example indica que o exemplo é reincluído. O status deve mostrá-lo e omitir os dois arquivos de valores locais. Um pai excluído ou regra posterior ainda pode alterar o resultado.

git status --short --untracked-files=all -- .env .env.local .env.example

Por que ! não mantém um arquivo em um diretório ignorado?

3. Trate valores já rastreados

Confira se o Git já rastreia algum arquivo de valores locais:

git ls-files -- .env .env.local

Se aparecerem caminhos, siga o artigo sobre arquivos rastreados e coordene mudanças. .gitignore não remove commits existentes. Se uma credencial vazou, revogue ou substitua primeiro e siga a orientação do GitHub; remover o arquivo atual não apaga o histórico.

Como ignorar arquivos que o Git já rastreia?

Consulte as referências oficiais para conhecer o comportamento exato e mais detalhes: Documentação do Git · Perguntas frequentes do Git · Orientações do GitHub sobre dados sensíveis expostos