我遇到了这个
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中的一行.
任何有用的提示将不胜感激.
解决方法
一段时间后我能够自己解决这个问题.
问题是我正在使用不同的分支推送到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了解这一点,我确信这将使未来的发展变得更加容易(并且不那么令人头痛).
你每天学习新的东西.