2010-02-17 11 views
75

Do wdrożenia w Heroku używam git push heroku master. Ale jak mogę sprawdzić, którą wersję podniosłem do Heroku? (Często mam wątpliwości, czy popchnąłem najnowszą wersję)Jak wyświetlić zdalną wersję Git na Heroku

Dla tych, którzy nie są zaznajomieni z tym skryptem tworzenia Heroku generuje zdalne repozytorium gitów, do którego naciskamy. Po naciśnięciu kod jest rozmieszczany magicznie.

Heroku dodaje zdalnego repozytorium do lokalnego jeden w formie:

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

Więcej informacji w Heroku Obsługi "Deploying with Git"

pytanie brzmi: Jak mogę zobaczyć najnowszą wersję w Heroku repozytorium?

Odpowiedz

56

Jeśli właśnie popychany chcą upewnić się, że aż do tej pory, to możesz po prostu uruchomić git remote show heroku a zobaczysz wynik podobny do tego:

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

That (up to date) na koniec zostanie zastąpiony przez (fast forwardable), jeśli nie jest aktualny.

Lub, jeśli chcesz zobaczyć pełny dziennik zatwierdzenia dla pilota heroku, jedyny sposób, jaki znam, to sprawdzenie go w pierwszej kolejności. git checkout heroku/master poda bieżący skrót zatwierdzenia i zatwierdz komentarz: HEAD is now at <short commit hash>... <commit comment>, a git log poda ci całą historię.

+0

Dziękuję bardzo za tę odpowiedź! Szukałem go wszędzie. – tbaums

+3

Właściwie to nie powiem, co to jest – Obie

+0

To nie działa na Cedar. –

12

jeśli natknąłeś się na sytuację, tak jak ja właśnie to zrobiłem, gdy współpracownik wycofał twoją aplikację heroku do wydania, które nie pojawia się w heroku releases, ponieważ śledzą tylko 2 wydania ... kasowanie metody heroku/master nie pomoże, ponieważ HEAD nie jest już wdrożony.

nieudokumentowane na ratunek:

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

To jest słodkie, ale czy jest jakiś sposób na uzyskanie ostatniego zatwierdzenia git.Sprawdziłem, czy ENV nie ma żadnej zmiennej, której mogę użyć dla daty. – David

+0

+1 fantazyjny, będzie go używał – dolzenko

+10

To już nie działa na Cedar, jeśli jest jakaś wymiana? – dolzenko

122

Prawidłowa odpowiedź jest rzeczywiście tak proste. Nie musisz niczego kasować, nie musisz też uciekać się do hacków COMMIT_HASH (które nie działają na stosie Cedar). Wszystko, co musisz zrobić, to: git ls-remote <remote>

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

, więc to pokaże ci wersję, na którą wskazuje konkretne zdalne repozytorium? –

+12

Aby pobrać dane wyjściowe tego komunikatu i łatwo zobaczyć dziennik zmian git i różnicę tekstową: 'git ls-remote heroku | awk "END {wydrukuj 1 $}" | xargs git show' –

+0

@ Komentarz BobbyNortona jest prostą odpowiedzią tutaj. Miły. – Beejamin

43

Możesz teraz chcą heroku releases a zobaczysz jak 5 zatwierdzeń. przynajmniej początek.

+1

Dzięki. To faktycznie pokazuje mi, co chcę się dowiedzieć (po wykonaniu wycofania, co faktycznie działa). – Cymen

+1

To jest najbardziej oficjalna i pouczająca odpowiedź! – brendan

18

co

git log heroku/master 
+1

Myślę, że jest to poprawna odpowiedź ... – Polak

+0

W zależności od sposobu wdrożenia, odwołanie do gałęzi master może, ale nie musi zostać zaktualizowane do wdrożonego SHA. – Justin

-1

Heroku korzysta zwykły stary Git pod spodem, tak ..

pokazują najnowsze 5 przesyła potwierdzenie w aktualnej gałęzi: git log -5

pokaz popełnienia historię poprzez gui git jest: gitk

Wyświetl bieżący status (wyświetli się, jeśli masz y niezobowiązujące pliki): git status

Powiązane problemy