1. Ignorar valores locales y conservar el ejemplo
Estas reglas en el .gitignore raíz excluyen .env y archivos de la raíz que empiezan por .env., y reincluyen .env.example. No cubren service.env ni archivos de subdirectorios.
Revisa .env.example antes del commit: el nombre no garantiza que sea seguro publicar sus valores. Usa marcadores y documenta las variables necesarias.
/.env
/.env.*
!/.env.example 2. Verificar los tres casos
Con .env, .env.local y .env.example sin seguimiento, comprueba las reglas:
git check-ignore -v -- .env .env.local .env.example!/.env.example significa que el ejemplo se reincluye. El estado debe mostrarlo y omitir los dos archivos de valores locales. Un padre excluido o una regla posterior puede cambiar el resultado.
git status --short --untracked-files=all -- .env .env.local .env.example ¿Por qué ! no conserva un archivo en un directorio ignorado?
3. Tratar valores ya seguidos
Comprueba si Git sigue alguno de los archivos de valores locales:
git ls-files -- .env .env.localSi aparecen rutas, sigue el artículo de archivos seguidos y coordina los cambios. .gitignore no elimina commits. Si se expuso una credencial, revócala o rótala primero y sigue la guía de GitHub; eliminar el archivo actual no borra el historial.
Consulta las referencias oficiales para conocer el comportamiento exacto y más detalles: Documentación de Git · Preguntas frecuentes de Git · Guía de GitHub sobre datos sensibles expuestos