2010-02-17 14 views
75

Für die Bereitstellung bei Heroku verwende ich git push heroku master. Aber wie sehe ich, welche Überarbeitung ich auf Heroku geschoben habe? (Ich bin oft im Zweifel, wenn ich die aktuelle Version schob)So zeigen Sie die Remote-Git-Revision auf Heroku an

Für diejenigen, die nicht damit vertraut sind, erzeugt Heroku create Skript ein Remote-Git-Repository, das Sie drücken. Beim Drücken wird der Code magisch eingesetzt.

Heroku fügt eine Remote-Repository auf dem lokalen eine in der Form:

$ git remote add heroku [email protected]:appname.git 

Mehr Informationen in Heroku Hand "Deploying with Git"

Frage ist: Wie kann ich neueste Version in Heroku Repository sehen?

Antwort

56

Wenn Sie gerade gedrückt und wollen sicherstellen, dass Sie up-to-date, dann können Sie nur git remote show heroku laufen und Sie werden eine Ausgabe ähnlich sehen:

* 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) 

Das (up to date) bei Das Ende wird durch (fast forwardable) ersetzt, wenn es nicht auf dem neuesten Stand ist.

Oder, wenn Sie wollen, um das vollständige Commit-Protokoll für die Heroku-Fernbedienung zu sehen, die einzige Möglichkeit, wie ich weiß, ist, es zuerst zu überprüfen. git checkout heroku/master gibt Ihnen den aktuellen Commit-Hash und Commit-Kommentar: HEAD is now at <short commit hash>... <commit comment>, und git log wird Ihnen den Rest der Geschichte geben.

+0

Vielen Dank für diese Antwort! Ich habe überall danach gesucht. – tbaums

+3

Nicht wirklich sagen Sie die Ref – Obie

+0

Dies funktioniert nicht auf Cedar. –

12

Wenn Sie in die Situation geraten sind, wie ich gerade getan habe, wo ein Mitarbeiter Ihre heroku App auf eine Version zurückgesetzt hat, die nicht in heroku releases angezeigt wird, weil sie nur 2 Versionen verfolgen ... die Das Auschecken der Heroku/Master-Methode wird nicht helfen, da HEAD nicht mehr implementiert ist.

die ohne Papiere zur Rettung:

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

das ist süß, aber gibt es einen Weg, den letzten Git-Commit zu bekommen.Ich überprüfte das ENV hat keine Variable, die ich für Datum verwenden kann. – David

+0

+1 Phantasie, wird es verwenden – dolzenko

+10

Dies funktioniert nicht auf Cedar mehr, wenn es Ersatz gibt? – dolzenko

122

Die richtige Antwort ist eigentlich ganz einfach. Sie müssen nichts auschecken, noch müssen Sie auf COMMIT_HASH-Hacks zurückgreifen (die auf Cedar-Stack nicht funktionieren). Alles, was Sie tun müssen, ist: git ls-remote <remote>

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

, damit Sie die Version anzeigen, auf die ein bestimmtes Remote-Repository verweist? –

+12

Um die Ausgabe dieser Nachricht zu nehmen und einfach das git commit log und text diff zu sehen: 'git ls-remote heroku | awk 'END {print $ 1}' | xargs git show' –

+0

@ BobbyNorton's Kommentar ist die direkte Antwort hier. Nett. – Beejamin

43

Sie jetzt heroku releases möchten und Sie werden wie 5 Commits sehen. zumindest ein Anfang.

+1

Danke. Dies zeigt mir tatsächlich, was ich herausfinden möchte (nach dem Rollback, was gerade läuft). – Cymen

+1

Dies ist die offizielle und informative Antwort! – brendan

18

was

git log heroku/master 
+1

Ich denke, das ist die richtige Antwort ... – Polak

+0

Abhängig davon, wie Sie bereitstellen, möglicherweise die 'Master' Zweigreferenz auf die SHA aktualisiert, die bereitgestellt wurde. – Justin

-1

Heroku wird mit einfachen alten Git darunter, so ..

zeigen die neuesten 5-Commits auf aktuellen Zweig: git log -5

Show begehen Geschichte über Git gui: gitk

aktuellen Status anzeigen (es wird angezeigt, wenn Sie eine haben y nicht erzwungene Dateien): git status

Verwandte Themen