如何从Github隐藏.env文件



我在rails项目中使用dotenv来存储API键。我在我的gemfile中有dotenv gem,在我的应用程序的根目录中创建了一个。env,并在那里列出了我的API密钥。但是,当我打开github时,我注意到.env文件仍然在那里。我是不是漏了一步?我如何隐藏。env文件从上传到github。

谢谢!

在项目的根目录中创建一个名为.gitignore的文件(可能已经存在),并将.env添加到该文件的单独行中。

同样,如果你已经将它添加到你的存储库中,那么你必须像上面所说的那样将文件添加到.gitignore,然后清除Git的缓存。你可以在StackOverflow的以下答案中找到相关信息。

将。env添加到项目根目录下的。gitignore文件中。

如果仍然可以在git更改中看到。env文件,则需要执行以下命令

来防止从git跟踪该文件
git rm --cached .env

在根目录下创建一个。gitignore文件,并在该。gitignore文件夹中添加。env文件名。之后,你必须使用git rm——cached .env命令从git中取消对.env文件的跟踪,然后使用1。添加Git。Git commit -m ";3.Git push -u origin master。现在你的。env文件已经从github的repo中删除了。

您可以使用.gitignore文件从repo中排除文件:http://git-scm.com/docs/gitignore.

如果您已经将它发送到git hub,您可以通过编写以下命令来删除它

git rm -r --cached .env
git add .
git commit -m 'your message'
git push

它会自动删除

如果之前你做了git init然后一些提交推你的项目。现在您已经意识到,为了安全起见,应该删除环境变量。

首先尝试:在你的根项目中创建.gitignore,然后将你想要忽略的文件包含在GitHub存储库中。

如果第一个不工作,你可以尝试这个

git rm——cached .env

git add .

git commit -m " remove .env"

git push

除此之外,gitignore不会将你的敏感数据推送到你的版本控制,这就是为什么当你执行ls命令或列出根文件夹中的所有文件时,gitignore不会出现,除非你执行ls—all命令在您的gitignore文件中添加env文件时,键入