我需要将.env文件提交到存储库中吗?

时间:2019-06-26 04:09:47

标签: python git virtualenv

我刚刚开始使用django学习后端开发。我的问题是我是否只提交服务器文件夹中的项目文件,还是应该将.env文件夹提交到存储库?

我已经执行以下操作:

  1. 我已经创建了虚拟环境,并且还在venv中安装了django。
  2. 我已经设置了django服务器和超级管理员。
  3. 我已设置config.json来保护我的API密钥。
  4. .gitignore中包含了同样的内容。

如果我不做.env,会发生什么?

2 个答案:

答案 0 :(得分:3)

假设您的.env文件夹是您的虚拟环境,否,您不应该提交它

应该使用requirements.txt文件在服务器上重建虚拟环境。您在开发计算机上构建的本地环境可能具有特定于操作系统的二进制文件,以及为您的本地环境生成的其他已编译代码。

服务器将具有不同的编译二进制文件,因此应使用pip install -r requirements.txt重建虚拟环境。

答案 1 :(得分:0)

由于env代表环境,因此您不应在git repo中提交/包含.env文件。您将为您的LOCAL,STAGING(开发),PRODUCTION环境使用不同的环境变量。

即您的LOCAL .env文件可能具有类似

的内容
WEB_HOST=localhost
WEB_PORT=8000
ALLOWED_HOSTS=127.0.0.1, localhost

但是您的PRODUCTION .env会有类似的东西

WEB_HOST=www.mysite.com
WEB_PORT=8080
ALLOWED_HOSTS=www.mysite.com

这就是为什么您不能在仓库中包含.env的原因,应该根据环境来创建它。