我用params创建了.env
文件,推送到github,我的队友下载了repo。在下一次推送中,我将.env
文件添加到.gitignore
。现在我需要对.env
文件进行更改,但如果.env
被忽略,他们将如何获取该文件。做这种操纵的正确方法是什么?
更新: 我用两个库来管理env变量: https://www.npmjs.com/package/dotenv https://www.npmjs.com/package/config
答案 0 :(得分:1)
您不会在仓库中存储.env
,但您创建.env.dist
(或任何类似名称的东西)并将其放入项目存储库中。这样的文件通常是生成.env
应该如何的模板或示例,因此它只存储密钥,但没有值,即:
DB_HOST=
DB_USER=
主要的好处是你在repo中没有.env
,所以每个开发人员都可以根据自己的喜好/需要轻松设置自己的系统(即本地数据库等),并且不存在意外发送此类文件的风险在下一次拉动时被覆盖,这至少会令人沮丧。此外,您不会在存储库中存储任何敏感数据,因此没有人可以再次运行代码生产机器。
根据您使用的开发环境,您可以使用提供的.env
作为模板自动创建.env.dist
文件(非常有用,即使用CI / CD服务器)。由于dotenv文件非常简单,因此处理起来非常简单。我自己为PHP编写了这样的帮助工具,但它是非常简单的代码,如果需要,可以轻松移植到任何其他语言。请参阅GitHub上的process-dotenv以供参考。