git忽略.env文件不起作用

Posted

技术标签:

【中文标题】git忽略.env文件不起作用【英文标题】:git ignore .env files not working 【发布时间】:2016-12-23 07:34:48 【问题描述】:

我有一个 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 同步这两个文件。

有什么可能导致这种情况的想法吗?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

使用git rm:

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

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

现在您应该能够在不跟踪这些文件的情况下克隆您的分支。

注意:请记住,这些文件的内容在您的历史记录中,如果它们确实包含敏感数据,那么您需要在将其放在那里之前从历史记录中completely remove。

【讨论】:

【参考方案2】:

只需运行此命令。

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

在 laravel 中有 .env 文件包含用于连接数据库。因此,您必须从缓存中删除 .env 文件。

【讨论】:

【参考方案3】:

这是因为你的.env文件已经被推送到git了。

您应该首先从 git 中删除它并推送您的更改。

rm -f .env
git add .
git commit -m "remove .env file from git"
git push

【讨论】:

以上是关于git忽略.env文件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

.gitignore 文件不起作用解决

Intellij Idea中设置了忽略提交iml文件,但不起作用

Git添加忽略文件 .gitignore文件不起作用

Git添加忽略文件 .gitignore文件不起作用

gitignore不起作用

Git中.gitignore文件不起作用的解决