在项目中隐藏 .env 文件

hiding .env file within a project

这是我的文件目录结构

项目

推送到 github 时如何在 .env 文件中隐藏凭据?我知道您必须使用 .gitignore,但由于我的 .env 不在根目录中,那将如何工作?

更新

我尝试按照回复所说的进行操作,但 .env 文件仍然没有在我的存储库中消失。

这是 .gitignore 文件的内容:

.env
.idea
**/node_modules
data
yarn.lock

您只需将 .env 添加到 .gitignore,然后添加 git add .gitignore,再添加 git commit。这将忽略来自未来 git 操作的所有子目录中的 .env,因此 .env 文件根本不会被推送到 GitHub.

.gitignore file 指定文件或目录名称的 模式 ,而不是相对于目录树中 .gitignore 位置的显式路径。这意味着您不需要单独指定 project/client/.env 等。

所以,只需将此添加到您的 .gitignore:

.env

如果您不小心推送了 .env 文件并且其中包含敏感凭据,请立即撤销这些凭据并将其视为机器人已经抓取了它们,并按照此处的说明进行操作:Removing sensitive data from a repository

附带说明一下,如果您的应用程序需要环境变量才能工作,通常会将它们记录在您的自述文件中。我还经常看到一个名为 .env.sample 或类似名称的文件,这是每个开发人员自己的 .env 文件的样板。该文件通常只包含键而没有值,因此其他开发人员知道他们需要设置哪些变量。