nycolexavier, sempre que vejo postagens escreverem "inclua o nome do arquivo x no .gitignore" fico pensando a responsabilidade que o git
tem para não falhar nessa filtragem. Um bug e já era suas chaves. Será que não tem uma forma dessas credenciais nunca ficarem disponíveis no armazenamento, mas em variáveis do ambiente? Depois que sobe para o repositório, acho que fica no histórico de alterações. Qualquer edição posterior será apresentada no diff
entre as versões.
e é por isso que gitignore seguro deve ser criado na inicialização do repositório, pq uma vez enviado... é isso mesmo, vai ficar no histórico.
o github e outras ferramentas tem cofres de senha que em pipelinez de ci/cd substituiem a necessidade do .env.
outros sistemas de automação tem suas particularidades.
Você pode usar direnv com um script .envrc usando source_env_if_exists /home/user/.envrc.local que somente busque as credencias em outro diretório, podendo centralizar as variáveis de ambiente e não deixá-las no projeto, ou usar o https://www.passwordstore.org/ com algum script para carregar as variáveis de ambiente quando tiver na raiz do projeto.
nunca tive parado para pensar isso!! mas você tem toda razão, nunca tinha parado para pensar nisso, inconscientemente, acho que isso é algo de praxe na minha mente e que sempre vai dar certo. Preciso pesquisar mais sobre o assunto.