Herokuにデプロイするには、git Push heroku master
。しかし、どの改訂版をherokuにプッシュしたかを確認するにはどうすればよいですか? (最近のバージョンをプッシュした場合、私はしばしば疑っています)
それに慣れていない人のために、Herokuの作成スクリプトは、プッシュ先のリモートgitリポジトリを生成します。プッシュすると、コードは魔法のようにデプロイされます。
Herokuは、次の形式でローカルリポジトリにリモートリポジトリを追加します。
$ git remote add heroku [email protected]:appname.git
Herokuのマニュアルの詳細 "Gitを使用したデプロイ"
質問:Herokuリポジトリで最新バージョンを確認するにはどうすればよいですか?
プッシュしたばかりで最新であることを確認したい場合は、git remote show heroku
を実行するだけで、次のような出力が表示されます。
* remote heroku
Fetch URL: [email protected]:XXX.git
Push URL: [email protected]: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
は、ストーリーの残りの部分を提供します。
正しい答えは実際にはとても簡単です。何もチェックアウトする必要はありません。また、COMMIT_HASHハック(Cedarスタックでは機能しません)に頼る必要もありません。必要なことは次のとおりです:git ls-remote <remote>
> git ls-remote heroku
ddaszxcewb585d3a3c00de816a197b14462791a3 HEAD
ddaszxcewb585d3a3c00de816a197b14462791a3 refs/heads/master
heroku releases
そして、5回のコミットが表示されます。少なくともスタート。
どう?
git log heroku/master
私がちょうどやったように、同僚がheroku releases
に表示されないリリースに同僚が2つのリリースのみを追跡するためにリリースするという状況に陥った場合... HEADはもはやデプロイされていないため、heroku/masterメソッドのチェックアウトは役に立ちません。
救助に文書化されていない:
$ heroku console "ENV['COMMIT_HASH']"
"12abcdef"