无法强制提交文件到Heroku

时间:2015-09-18 00:03:52

标签: node.js git heroku github

我遇到了这个Git问题,我似乎无法解决它。

我有一个节点,我一直在构建,我终于达到了部署它的目的。

我正在尝试将文件直接推送到Heroku上的应用程序。我知道我可以简单地从Github仓库中提取数据但是我想避免公开我的私钥,所以我为要访问的密钥创建了一个自定义模块(例如,“模块/私有变量”。 JS“)。这个文件包含在.gitignore中,因此我不会将它推送到我公开查看的Github。

当我的应用程序推送到Heroku时,无论出于何种原因我都无法专门推送该文件。

git add -f modules/private-variables.js

无论出于何种原因,这都行不通。它仍在回答“一切都是最新的”

$ git add -f modules/private-variables.js
$ git commit -m "7th attempt to include necessary file"
$ git push heroku master

我甚至做了“git commit -a”

$ git add -f modules/private-variables.js
$ git commit -a
$ git push heroku master

我已经运行了“heroku run bash”,并得出结论说我的文件仍然不存在。

不可否认,我对Git仍然缺乏经验,但这是我第一次尝试包含曾经在.gitignore中的文件,所以我从未遇到过这个问题。我甚至尝试删除.gitignore中的一行。

非常感谢任何有用的提示。

1 个答案:

答案 0 :(得分:6)

一段时间后,我能够自己解决这个问题。

问题是我正在使用不同的分支推送到Heroku。看,正如我之前所说,我仍然缺乏Git如何工作的知识。

当我做的时候,我想到了......

$ git push heroku master

...在我的分支“部署”时,我只是推送当前存在的文件。

我现在知道事实并非如此。我必须在Heroku上将“deploy”分支推送到“master”。

根据这个答案:https://stackoverflow.com/a/11143639/4107851

我必须做“git push heroku [分支推送名称]:主人

$ git push heroku deploy:master

我还没有尝试过这种方法。我只是回到我的主分支,包括被忽略的文件,并将其推送到Heroku。现在我对Git了解这一点,我确信这将使未来的发展变得更加容易(并且不那么令人头痛)。

你每天都学到新东西。 :)