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

Sri*_*ali 5 python git virtualenv

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

我做了以下工作:

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

如果我提交或不提交会.env怎样?

M.J*_*Jin 9

您不应该.env在 git 存储库中提交/包含您的文件,因为 env 代表环境。您将为本地、暂存(开发)、生产环境使用不同的环境变量。

即你的 LOCAL .env 文件可能有类似的内容

WEB_HOST=localhost
WEB_PORT=8000
ALLOWED_HOSTS=127.0.0.1, localhost
Run Code Online (Sandbox Code Playgroud)

但你的 PRODUCTION .env 会有不同的东西,比如

WEB_HOST=www.mysite.com
WEB_PORT=8080
ALLOWED_HOSTS=www.mysite.com
Run Code Online (Sandbox Code Playgroud)

这就是为什么你不能将 .env 包含在你的存储库中,而应该根据环境来创建。


dam*_*mon 6

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

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

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