保持单独的git分支 - 一个用于heroku,另一个用于github

时间:2015-03-27 16:10:27

标签: node.js git heroku github git-branch

我在nodejs上有一个项目,它位于github上并部署在heroku上。在该项目中,我使用了一些API密钥,这些密钥存储在config.js文件中,在推送到github时会被忽略。但是我需要在heroku上部署这些文件。所以我的问题是,当我对github进行任何更改时,我必须忽略config.js文件,当我在heroku上部署时,我必须在我的分支中再次包含它们。我陷入了这个粘性循环中。

谢谢

这是我第二次在这里提问。因此,如果我没有遵循任何惯例,请告诉我,以便我可以为将来的访问者进行编辑。

2 个答案:

答案 0 :(得分:0)

这很简单,维护三个分支githubherokuorphan

github分支中,编写所有代码(有问题的js文件除外)。

orphan分支中,(使用git branch branch_name --orphan创建),添加并提交js文件。

每次要推送到heroku时,从github(git checkout heroku && git reset --hard github)创建一个新分支,然后合并孤立分支(使用git merge orphan)。

现在你可以把这个分支推到heroku。

答案 1 :(得分:0)

您可以使用多个分支来维护配置文件,但您可能更喜欢使用环境变量。

在Heroku应用管理中,转到“配置变量”或“设置”标签。您可能已经设置了默认变量。

添加API密钥,您可以使用process.env.ENV_VARIABLE在Node中访问它们,其中ENV_VARIABLE是您为变量提供的名称。

您可以在虚拟主机或系统环境变量中的本地开发环境中设置相同的环境变量,具体取决于您的设置。

查看此文章,了解有关配置变量的更多详细信息:https://devcenter.heroku.com/articles/config-vars