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文件不起作用的主要内容,如果未能解决你的问题,请参考以下文章