如何在Heroku上查看远程Git修订版本

为了部署到Heroku,我使用git push heroku master 。 但是,我怎么看我推到heroku的哪个版本? (我经常怀疑是否推动了最近的版本)

对于那些不熟悉它的人来说,Heroku的创build脚本会生成一个远程的git仓库。 一旦推动,代码神奇地部署。

Heroku以下面的forms向本地添加一个远程仓库:

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

Heroku的手册“使用Git进行部署”

问题是:如何在Heroku资源库中看到最新版本?

如果你刚刚推了,想要确认你是最新的,那么你可以运行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) 

如果不是最新的,则(fast forwardable) (up to date)最后将被replace为(fast forwardable)

或者,如果你想看到完整的提交日志的英雄远程,我知道如何首先检查它的唯一方法。 git checkout heroku/master会给你当前的提交hash和commit comment: HEAD is now at <short commit hash>... <commit comment> ,而git log会给你剩下的故事。

正确的答案其实很简单。 你不需要签出任何东西,你也不需要求助于COMMIT_HASH(这在Cedar堆栈上不起作用)。 所有你需要做的是: git ls-remote <remote>

  > git ls-remote heroku ddaszxcewb585d3a3c00de816a197b14462791a3 HEAD ddaszxcewb585d3a3c00de816a197b14462791a3 refs/heads/master 

你现在可能需要heroku releases ,你会看到5个提交。 至less是一个开始。

关于什么

 git log heroku/master 

如果你遇到了这种情况,就像我刚刚做的那样,一个同事将你的heroku应用程序回滚到一个版本,因为他们只跟踪2个版本,所以不会显示在heroku releases中。 / master方法不会帮助,因为HEAD不是被部署的。

无证援救:

 $ heroku console "ENV['COMMIT_HASH']" "12abcdef" 

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

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

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

查看当前状态(它会显示你是否有任何uncommited文件): git status