git – 为什么Heroku认为一切都是最新的?

在Heroku我有一个生产应用程序,我知道有一个临时应用程序:

$heroku list
=== My Apps
testivate
testivate-staging

我有每个遥控器:

$git remote -v
heroku  git@heroku.com:testivate.git (fetch)
heroku  git@heroku.com:testivate.git (push)
staging git@heroku.com:testivate-staging.git (fetch)
staging git@heroku.com:testivate-staging.git (push)

我走了几天,部署打破了我的生产应用程序,所以我使用了heroku回滚,最后创建了我现在正在使用的登台应用程序,并将我的代码推送到临时应用程序,大概是使用git push staging master. (这是几天前,但我很确定这就是我所做的.)

它现在都在我的暂存应用程序上工作,所以我正在尝试将我的代码推送到我的生产应用程序.

但是,Heroku一直告诉我,我的生产应用程序已经是最新的:

$git branch
* master

$git status
# On branch master
nothing to commit (working directory clean)

$git add .
$git add -u
$git commit -m "trying to commit"
# On branch master
nothing to commit (working directory clean)

$git push heroku master
Everything up-to-date

$git remote show staging
* remote staging
  Fetch URL: git@heroku.com:testivate-staging.git
  Push  URL: git@heroku.com:testivate-staging.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (up to date)

$git remote show heroku
* remote heroku
  Fetch URL: git@heroku.com:testivate.git
  Push  URL: git@heroku.com:testivate.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (up to date)

我知道Heroku是错误的,因为我的视图有一些明显的变化,你可以在我的本地代码和登台服务器上看到,但不能在我的实时制作应用程序上看到.

例如,比较我的暂存应用中正确here的“后退”链接,而不是生产应用中的here.

如何让Heroku根据需要更新我的制作应用程序?

谢谢,

史蒂芬.

你确定你指的是正确的分支吗?这是实际命令的语法:

git push heroku <the branch you wish to push>:<the branch on the heroku server you wish to push to>

所以,如果你习惯了

git push heroku master

并且你签出并提交除master之外的分支,运行git push heroku master将推送你未更改的master分支.相反,跑

git push heroku the_branch_i_changed:master
翻译自:https://stackoverflow.com/questions/13574304/why-does-heroku-think-everything-is-up-to-date-when-it-isnt

转载注明原文:git – 为什么Heroku认为一切都是最新的?