有没有办法在一个存储库中存储文件而在另一个存储库中没有?

时间:2013-12-18 03:34:57

标签: git heroku github

我有一个带有设置文件的node.js应用程序,当我推送到Heroku时需要在repo中,但我想在github上分享我的项目没有我的API密钥,会话秘密等...

我知道我可以将文件添加到.gitignore,但是它不会推送到Heroku。

否则,每当我进行更改时,我都会手动将文件从一个仓库复制到另一个仓库。

有没有更好的方法。

我看了this question两年前问过并回答了问题,但是关于“纪律严重”的警告让我对分支解决方案感到有些害羞,所以我想我会问是否有任何改变。

另外,如果可能的话,我想避免回答中提到的environment variables方法,因为某些API密钥在开发过程中可能会发生一些变化(从个人开发密钥到会话秘密,数据库密码等...(“1234”虽然在本地主机上打破了,但我可能会做更长的事情但在测试版中仍然令人难忘,并且最终会替换所有我的令牌随机哈希最终)

我还检查了this question,但是在那里达成的共识似乎是接受的答案不起作用,我对使用我的API密钥进行尝试犹豫不决

2 个答案:

答案 0 :(得分:1)

你需要为此使用环境变量,它们的确切目的是在Heroku和本地机器上它们可以很容易地区别开来。

heroku config列出了可从您的dynos访问的环境变量,并且正是API密钥需要的位置。

答案 1 :(得分:0)

Heroku是围绕使用环境变量进行配置而设计的,所以试图避免它可能是徒劳的。请参阅此链接了解基本原理:http://12factor.net/config