web-dev-qa-db-fra.com

git ignore les fichiers .env ne fonctionne pas

J'ai un projet laravel. Dans le répertoire racine se trouvent ces 4 fichiers:

.env .env.example .env.local .env.staging

J'ai un fichier .gitignore, et je liste ces 4 fichiers dans le .gitignore, l'un après l'autre, comme ceci

.env
.env.example
.env.local
.env.staging

Mon référentiel git ne contient pas .env ou .env.example, mais il contient .env.local et .env.staging. J'ai essayé tout ce à quoi je peux penser, mais il continue de synchroniser ces 2 fichiers avec Gitlab.

Des idées ce qui pourrait être à l'origine de cela?

Merci de votre aide!

41
Matt

Utilisez git rm :

Si vous avez déjà ajouté les fichiers à suivre, vous devez les supprimer du suivi:

git rm env.local --cached
git rm env.staging --cached
git commit -m "Stopped tracking env.local, and env.staging"

Vous devriez maintenant pouvoir cloner votre branche sans que ces fichiers soient suivis.

Remarque: Gardez à l'esprit que le contenu de ces fichiers est dans votre historique, et s'ils contenaient des données sensibles, vous devez alors supprimer complètement que de l'histoire avant de le mettre là-bas.

121
Bryce Drew

Exécutez simplement cette commande.

git rm .env --cached
git commit -m "Stopped tracking .env File"

Dans laravel il y a un fichier .env inclus pour connecter la base de données. Donc pour cela, vous devez supprimer le fichier .env du cache.

6
Chirag Ingde