【问题标题】:git push heroku master says "Everything up-to-date", but the app is not currentgit push heroku master 说“一切都是最新的”,但应用程序不是最新的
【发布时间】:2014-03-23 17:36:18
【问题描述】:

我在 Heroku 上有一个运行旧代码的应用程序。我做了一个小改动并提交了改动。然后我跑了

git push heroku master

它会说

Fetching repository, done.
Everything up-to-date

但如果我去查看应用程序,那都是旧代码。大约 15 天前,我确实将网站恢复到 Heroku 中的另一个版本,但从那时起就向它推送了更新,并且他们工作了。

为什么 heroku 没有从我的 github 存储库中获取最新的文件?有没有办法重置应用程序并再次从 github 推送文件?我在数据库中有生产数据,所以我不想碰它。

提前致谢!!

【问题讨论】:

  • 这里有同样的问题。你有想过吗?这里提供的答案是显而易见的事情,我已经尝试过但无济于事。 @暗物质5
  • 答案说我可能在另一个分支上,但我遇到了同样的问题,我的分支是 master。在本地我已经更改,成功地将它们部署在 heroku 上,git 说本地和 heroku 之间没有区别,而实际上并没有显示更改(浏览器在部署之前仍然显示旧版本)。我已清除客户端和服务器缓存,但问题仍然存在。

标签: git github heroku push git-push


【解决方案1】:

请确认您当前的分支是 master。

 git branch 

如果指针不指向master,则check out到master分支

git checkout master

提交您的更改并尝试推送到 heroku

git commit -am "xxxyyzzz"    
git push heroku master

【讨论】:

  • git push heroku yourlocalbranch:master 如果你想将本地的非 master 分支推送到 heroku master
  • 带着同样的问题来到这里@danny 清理了哈德森的解决方案。
  • 如果当前分支是master但是我还是上面的问题呢?
【解决方案2】:

当您运行git push heroku master 时,git 假设您是从 master 推送,所以如果您的更改在其他分支中,您将尝试推送您的 master 分支而不进行更改。

你有两个选择

1.将您的更改与master合并并推送。

在您的实际分支中提交您的更改,然后将它们与 master 合并

git commit -a - m "your messages"
git checkout master
git merge your_feature_branch
git push heroku master

2.从您的实际分支推送您的更改

git push heroku your_feature_branch:master

【讨论】:

    【解决方案3】:

    我遇到了类似的问题,而且我的更改在 heroku 上是不可见的。为了再次确认我自己,我什至从 heroku 克隆了一个,它显然是最新的。

    我只能通过以下方法解决我的问题:

    第一步:master创建一个新分支

    git checkout -b new_branch
    

    第 2 步:只需在任何文件中添加注释以进行新的提交,然后:

    git add .
    git commit -m "Just a test commit to push new branch to heroku"
    

    第 3 步:将新分支推送到 heroku。

    git push heroku new_branch:master
    heroku restart
    

    您现在可以在 heroku 上成功看到您的更改。

    【讨论】:

    • git push heroku new_branch:master 帮助了
    • 谢谢。像魅力一样工作。不知道可以将一个分支推到另一个分支。
    • 它说“一切都是最新的”,但问题仍然存在。
    • 你的解决方案很神奇!!!
    【解决方案4】:

    我敢打赌你忘了运行 git add . 后跟 git commit -m 'xyz'

    【讨论】:

    • 呵呵,这让我笑了。写了三天三夜的代码修复了一些小东西,我忘了添加和提交我的代码
    【解决方案5】:

    即使这是一个老问题,如果其他人遇到这个问题,我想更新对我(新手)有用的东西:

    按照此处的说明(来自 Hudson)后,最终对我有用的是在检查“master”分支后执行“git pull”。也许“git push heroku master”只会推出master的本地分支?

    当然,这假设所有必需的更改都已正确合并到您的主文件中。自从项目建立以来,我还没有从本地的 master 中撤出,因为所有合并(从开发到 master)都是在 GitHub 上处理的,而且我一直在处理后来与开发合并的新分支。

    所以,重申一下 Hudson 的上述步骤:

    git checkout master

    git pull

    (在这里,我更新了 README 以提交更改,例如“Heroku deploy [date, time]”

    git add .

    git commit -am "xxxyyzzz"

    git push heroku master

    heroku run rake db:migrate

    heroku restart

    祝你好运!

    【讨论】:

    • 对我来说同样的问题,我在推送另一个分支并合并后没有拉出主分支。
    【解决方案6】:

    试试:

    heroku status

    这返回了以下内容,确认问题出在 heroku API(而不是我的应用!):

    “API 出现延迟。这可能会导致添加新域、新版本和其他此类操作的延迟。目前,工程师正在调查此问题。”

    【讨论】:

      【解决方案7】:

      发生这种情况时,我会像这样将之前的提交哈希推送到 master:

      git push some-heroku-app-name SOME-COMMIT-HASH:master --force
      

      然后我这样重新推master:

      git push some-heroku-app-name master:master
      

      【讨论】:

      • 我在更改 heroku 上的构建包后需要重建时使用了它。您可能需要将--force 添加到第一个命令。
      • @Markus 实际上,我从来不需要“--force”。拥有它并没有什么坏处,所以我更新了我的答案。谢谢!
      【解决方案8】:

      同样的问题,我使用 heroku git:remote 命令将远程添加到本地存储库,然后将其推送。

      heroku git:remote -a your-heroku-app
      
      git push heroku master
      

      【讨论】:

        【解决方案9】:

        我知道,我知道,很傻,但它发生在我身上,所以我要警告其他人:确保你推送的应用是你正在检查更改的同一个应用。

        在我的情况下,我正在推动暂存,然后在生产环境中运行 shell,但不明白为什么静态文件没有更改。

        (从一个真正的问题开始,当我推送一个新版本时,静态文件并没有改变,但这可能是一个一键式侥幸,它只会让我再循环一个小时,因为我正在测试错误的应用程序。)

        【讨论】:

        • 这是我的问题。我做了一个git remote -v 来检查我的“heroku”(生产)遥控器和“暂存”遥控器的 URL,它们都是相同的暂存 URL。所以我推动分期两次。我删除了生产 url 并将正确的远程 url 从我的 heroku 仪表板添加到我的本地应用程序。谢谢!
        【解决方案10】:

        如果您使用的是 Java,请不要忘记在推送之前重建项目。

        在 Gradle 的情况下:

        gradlew clean install
        

        【讨论】:

        • 不知道你为什么投了反对票...我遇到了同样的问题,但使用的是 React 项目。运行webpack -p --progress --config webpack.config.prod.js(其中最后一个参数是你的 webpack 配置文件的名称)然后提交和推送为我解决了这个问题。
        【解决方案11】:

        我的可执行文件名称已更改,但我忘记更改 Procfile 中的名称。因此,当所有文件在 heroku 中正确更新时,相同的旧可执行文件正在运行。 我用了 heroku local 从命令行帮助跟踪该问题。

        【讨论】:

          【解决方案12】:

          多次遇到同样的问题。如果清除我的浏览器历史记录或在隐身窗口中打开应用程序,什么对我有用。

          【讨论】:

            猜你喜欢
            • 2018-10-06
            • 2011-06-17
            • 2018-05-31
            • 1970-01-01
            • 2019-08-01
            • 1970-01-01
            • 2010-11-03
            • 2012-02-15
            • 2011-02-25
            相关资源
            最近更新 更多