Localhost:3000版本与Heroku部署版本的显示方式不同-Node.js

时间:2018-09-07 04:21:02

标签: javascript node.js heroku terminal

我已使用git push heroku master将目录部署到Heroku,但是什么也没发生... . Everything up-to-date是屏幕读取的内容。

由于本地版本可以满足我的需求,我该如何将我在本地运行的确切版本推送到Heroku?

4 个答案:

答案 0 :(得分:3)

如果您确定这两个分支中的源代码本身不相同,则可以使用强制推送:

# Make sure you are on your local master branch
git branch
# Make sure that your remote address is correctly set
git remote -v
# Then force push your master branch to heroku remote master branch
git push heroku master -f
  

强行将分支推送到远程站点将迫使远程分支采用该分支的代码和git提交历史记录

但是,如果您无权检查源代码,请检查环境变量在本地计算机和服务器上是否相同(例如, NODE_ENV 变量)

此外,仔细检查heroku(如果存在)以及两台计算机的节点和npm版本的自动部署,并注意您在两台计算机上运行的命令(npm startnode .或...)可能基于env进行不同的操作。

答案 1 :(得分:1)

由于您没有做任何明显错误的事情,所以有些错误。 无需进一步调查,很难说出确切的含义。

我建议您clone your project from heroku进入新目录,然后将本地更改(如您所说的在3000端口上工作)从本地分支复制到此新目录中,然后像往常一样推送所有这些更改:

git add -A
git commit -m "some message"
git push

将新克隆与当前工作目录进行比较也是一个好主意。如果跟踪的文件相同,则表明本地环境和heroku容器配置之间存在差异。

答案 2 :(得分:1)

Please check the branch or remote url of heroku.

In heroku click Deploy tab and find out the branch. Add the remote url in your local machine terminal.

1) heroku git:remote -a projectname
2) git status
3) git add .
4) git commit -m "message"
5) git push heroku master

答案 3 :(得分:0)

首先运行 <xsl:template match="Class"> <ul> <xsl:apply-templates select="Student"/> </ul> </xsl:template> <xsl:template match="Student"> <li> <xsl:apply-templates/> </li> </xsl:template> 进行所有更改,包括删除。

或运行git add -A进行所有更改,而不删除所有内容。

然后,git add .将把这些分段的更改推送到git push heroku master和远程master

这是因为,虽然没有进行任何更改,但是没有要推送的内容(两个分支都相同)。

使用可视前端可能有助于使其更易于处理。并可能考虑设置本地暂存环境(术语herokustaging上下文中的含义不同),以便在将文件推送到实际环境之前进行正确的测试