将.gitignore文件推送到特定的远程

ska*_*zhy 17 github heroku gitignore

我制作了一个Sinatra应用程序,它将在Heroku上托管,而源代码将在GitHub上发布.问题是我有一个带有API密钥的文件,目前在.gitignore中.有没有办法,我可以用密钥文件将我的仓库推送到heroku并在推送到GitHub时排除文件?

提前致谢!

Chr*_*sen 15

可以仅为部署维护一个单独的分支,但要正确维护它需要很多纪律:

  1. 将提交添加到添加配置文件的生产分支(git add -f通过bybass您的排除).
  2. 要更新生产分支,请将其他分支(例如master)合并到其中.
    但是,您必须永远不要将生产分支合并到其他任何东西,或者根据任何"生产提交"(其祖先包括您的"添加密钥"提交)启动分支.

更简单的方法是采用Heroku使用环境变量的自定义将您的秘密值传递给您的实例.请参阅有关配置和配置变量的文档:

heroku config:add KEY1=foobar KEY2=frobozz
Run Code Online (Sandbox Code Playgroud)

然后通过访问值ENV['KEY1']ENV['KEY2']在初始化代码或任何你需要他们.为了支持非Heroku部署,您可以定义相同的环境变量,或者如果环境变量不存在则回退到读取现有的配置文件.