git忽略.env文件不起作用

时间:2016-08-16 19:39:47

标签: git laravel laravel-5.2 gitlab

我有一个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同步。

任何可能导致此问题的想法?

感谢您的帮助!

2 个答案:

答案 0 :(得分:79)

使用git rm

如果您已添加要跟踪的文件,则需要将其从跟踪中删除:

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文件。