我有一个laravel项目。在根目录中有这4个文件:
.env .env.example .env.local .env.staging
我有.gitignore文件,我在.gitignore中列出这4个文件,一个接一个,就像这样
.env
.env.example
.env.local
.env.staging
我的git存储库不包含.env或.env.example,但它包含.env.local和.env.staging。 我已经尝试了所有我能想到的东西,但它仍然将这两个文件与Gitlab同步。
任何可能导致此问题的想法?
感谢您的帮助!
答案 0 :(得分:79)
如果您已添加要跟踪的文件,则需要将其从跟踪中删除:
git rm env.local --cached
git rm env.staging --cached
git commit -m "Stopped tracking env.local, and env.staging"
现在,您应该能够克隆您的分支,而不会跟踪这些文件。
注意:请注意,这些文件的内容都在您的历史记录中,如果它们确实包含敏感数据,那么您需要completely remove之前从历史记录中删除它们那里。
答案 1 :(得分:2)
只需运行此命令。
git rm .env --cached
git commit -m "Stopped tracking .env File"
在laravel中,有.env文件用于连接数据库。因此,您必须从缓存中删除.env文件。