如何在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