HerokuでリモートGitリビジョンを表示する方法


85

Herokuへのデプロイには、を使用しますgit push heroku master。しかし、どのリビジョンをherokuにプッシュしたかをどのように確認できますか?(最近のバージョンをプッシュしたかどうか疑問に思うことがよくあります)

慣れていない人のために、Herokuのcreateスクリプトは、プッシュ先のリモートgitリポジトリを生成します。プッシュすると、コードは魔法のようにデプロイされます。

Herokuは、リモートリポジトリをローカルリポジトリに次の形式で追加します。

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

詳細については、Herokuのマニュアル「DeployingwithGit」をご覧ください

質問:Herokuリポジトリで最新バージョンを確認するにはどうすればよいですか?

回答:


63

プッシュしたばかりで、最新であることを確認したい場合は、実行するだけで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ストーリーの残りを提供します。


この答えをどうもありがとう!どこでも探していました。
tbaums 2011

3
実際には参照を教えてくれません
Obie 2012

githubリポジトリのようにファイル自体をオンラインで表示する方法はありますか?
eranotzap20年

128

正解は実はとても簡単です。何もチェックアウトする必要はありません。また、COMMIT_HASHハック(Cedarスタックでは機能しません)に頼る必要もありません。あなたがする必要があるのは:git ls-remote <remote>

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

これにより、特定のリモートリポジトリが指しているバージョンが表示されますか?
EE33 2012年

12
このメッセージの出力を取得して、git commitログとテキストの差分を簡単に確認するには: git ls-remote heroku | awk 'END{print $1}' | xargs git show
Bobby Norton

@BobbyNortonのコメントは、ここでの直接的な答えです。いいね。
ベン・ハル

45

あなたは今望むかもしれませんheroku releases、そしてあなたは5つのコミットのように見えるでしょう。少なくともスタート。


1
ありがとう。これは実際に私が知りたいことを示しています(実際に実行されているものをロールバックした後)。
Cymen 2012

24

どうですか

git log heroku/master

展開方法に応じて、masterブランチ参照は展開されたSHAに更新される場合と更新されない場合があります。
ジャスティン

11

私が行ったように、同僚heroku releasesが2つのリリースしか追跡していないために表示されないリリースにherokuアプリをロールバックした状況に遭遇した場合は、heroku / masterのチェックアウトHEADはもうデプロイされていないため、メソッドは役に立ちません。

文書化されていない救助:

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

それは素晴らしいことですが、最後のgitcommitを取得する方法はありますか。ENVに日付に使用できる変数がないことを確認しました。
デビッド

10
代替品がある場合、これはCedarでは機能しなくなりましたか?
dolzenko 2011年

取得します'heroku console' has been disableddevcenter.heroku.com/changelog-items/109)。試しましたheroku run "ENV['COMMIT_HASH']"が、取得しbash: ENV[COMMIT_HASH]: command not foundます。使用するechoと、文字列が表示されますENV[COMMIT_HASH]
guyaloni 2013年

実行することでCedarスタックのRailsコンソールにアクセスでき、実行heroku run consoleすることでENV['COMMIT_HASH']変数の内部を確認できますheroku run echo $ENV['COMMIT_HASH'](これは環境変数であるため、「$」が必要です-のようにecho $PATH)。
傾斜

-1

herokuは下にプレーンな古いGitを使用しているので..

現在のブランチの最新の5つのコミットを表示します。 git log -5

GitのGUIを介してコミット履歴を表示する: gitk

現在のステータスを表示します(コミットされていないファイルがあるかどうかが表示されます): git status

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.