89

为了部署到 Heroku,我使用git push heroku master. 但是我如何查看我将哪个版本推送到 heroku?(我经常怀疑我是否将最新版本推高)

对于那些不熟悉它的人,Heroku 的创建脚本会生成一个您推送到的远程 git 存储库。推送后,代码会神奇地部署。

Heroku 以如下形式将远程存储库添加到本地存储库:

$ git remote add heroku git@heroku.com:appname.git

Heroku 手册“使用 Git 部署”中的更多信息

问题是:如何在 Heroku 存储库中查看最新版本?

4

6 回答 6

127

正确答案其实就是这么简单。你不需要检查任何东西,也不需要求助于 COMMIT_HASH 黑客(这在 Cedar 堆栈上不起作用)。您需要做的就是:git ls-remote <remote>

 > git ls-remote heroku
ddaszxcewb585d3a3c00de816a197b14462791a3        HEAD
ddaszxcewb585d3a3c00de816a197b14462791a3        refs/heads/master
于 2011-11-07T10:58:29.770 回答
64

如果您刚刚推送并想确保您是最新的,那么您可以运行git remote show heroku,您将看到类似于此的输出:

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

如果它不是最新(up to date)的,最后将被替换。(fast forwardable)

或者,如果您想查看 heroku 远程的完整提交日志,我知道的唯一方法是先检查它。 git checkout heroku/master将为您提供当前的提交哈希和提交评论:HEAD is now at <short commit hash>... <commit comment>git log并将为您提供故事的其余部分。

于 2010-02-17T22:03:19.907 回答
46

您现在可能想要heroku releases并且会看到 5 个提交。至少是一个开始。

于 2012-08-08T11:29:49.167 回答
24

关于什么

git log heroku/master
于 2013-06-06T09:26:07.030 回答
11

如果您遇到了这种情况,就像我刚才所做的那样,一位同事将您的 heroku 应用程序回滚到一个没有显示的版本,heroku releases因为他们只跟踪 2 个版本......heroku/master 的结帐方法无济于事,因为 HEAD 不再是部署的内容。

无证救援:

$ heroku console "ENV['COMMIT_HASH']"
"12abcdef"
于 2011-01-05T22:38:59.300 回答
-1

heroku 在下面使用普通的旧 Git,所以..

显示当前分支的最新 5 次提交: git log -5

通过 Git 的 gui 显示提交历史: gitk

查看当前状态(它会显示您是否有任何未提交的文件): git status

于 2016-03-28T22:29:52.613 回答