Jak wyświetlić zdalną wersję Git w Heroku

85

Do wdrażania w Heroku używam git push heroku master. Ale jak sprawdzić, którą wersję przeniosłem do heroku? (Często mam wątpliwości, czy zaktualizowałem najnowszą wersję)

Dla tych, którzy nie są zaznajomieni z tym, skrypt tworzenia Heroku generuje zdalne repozytorium git, do którego można wysłać. Po wypchnięciu kod jest wdrażany w magiczny sposób.

Heroku dodaje repozytorium zdalne do lokalnego w postaci:

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

Więcej informacji w podręczniku Heroku „Wdrażanie za pomocą Git”

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

Jesper Rønn-Jensen
źródło

Odpowiedzi:

63

Jeśli właśnie nacisnąłeś i chcesz się upewnić, że jesteś na bieżąco, możesz po prostu uruchomić, git remote show herokua zobaczysz wyniki podobne 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)

To (up to date)w końcu zostanie zastąpione, (fast forwardable)jeśli nie jest aktualne.

Lub, jeśli chcesz zobaczyć pełny dziennik zatwierdzeń pilota heroku, jedynym sposobem, w jaki wiem, jest sprawdzenie go najpierw. git checkout heroku/masterpoda aktualny skrót zatwierdzenia i komentarz do zatwierdzenia: HEAD is now at <short commit hash>... <commit comment>oraz git logpoda resztę historii.

Brock Batsell
źródło
Dziękuję bardzo za tę odpowiedź! Szukałem tego wszędzie.
tbaums
3
Właściwie nie mówi ci, że sędzia
Obie,
czy jest jakiś sposób, aby zobaczyć same pliki online, jak w repozytorium na Github?
eran otzap
128

Prawidłowa odpowiedź jest tak naprawdę prosta. Nie musisz niczego płacić, nie musisz też uciekać się do hacków COMMIT_HASH (które nie działają na stosie Cedar). Wystarczy, że:git ls-remote <remote>

 > git ls-remote heroku
ddaszxcewb585d3a3c00de816a197b14462791a3        HEAD
ddaszxcewb585d3a3c00de816a197b14462791a3        refs/heads/master
dolzenko
źródło
więc to pokaże wersję, na którą wskazuje określone zdalne repozytorium?
EE33
12
Aby uzyskać wynik tego komunikatu i łatwo zobaczyć dziennik zatwierdzeń git i różnicę tekstową: git ls-remote heroku | awk 'END{print $1}' | xargs git show
Bobby Norton,
Komentarz @ BobbyNortona jest tutaj bezpośrednią odpowiedzią. Ładny.
Ben Hull
45

Możesz teraz chcieć, heroku releasesa zobaczysz jak 5 zatwierdzeń. przynajmniej początek.

pjammer
źródło
1
Dzięki. To faktycznie pokazuje mi, czego chcę się dowiedzieć (po wykonaniu wycofania tego, co faktycznie działa).
Cymen
24

co powiesz na

git log heroku/master
eweb
źródło
W zależności od sposobu wdrażania masterodwołanie do gałęzi może, ale nie musi, zostać zaktualizowane do wdrożonego SHA.
Justin
11

jeśli napotkasz sytuację, tak jak ja właśnie to zrobiłem, w której współpracownik przywrócił twoją aplikację heroku do wersji, która się nie pojawia, heroku releasesponieważ śledzi tylko 2 wersje ... kasowanie heroku / master metoda nie pomoże, ponieważ HEAD nie jest już tym, co jest wdrażane.

nieudokumentowane na ratunek:

$ heroku console "ENV['COMMIT_HASH']"
"12abcdef"
kenichi
źródło
to słodkie, ale czy istnieje sposób, aby uzyskać ostatnie zatwierdzenie gita. Sprawdziłem, że ENV nie ma żadnej zmiennej, której mogę użyć dla daty.
David
10
To już nie działa na Cedar, czy jest jakiś zamiennik?
dolzenko
Dostaję 'heroku console' has been disabled( devcenter.heroku.com/changelog-items/109 ). Próbowałem, heroku run "ENV['COMMIT_HASH']"ale dostaję bash: ENV[COMMIT_HASH]: command not found. Kiedy używam echo, otrzymuję ciąg ENV[COMMIT_HASH].
guyaloni
Możesz uzyskać dostęp do konsoli Rails na stosie Cedar, uruchamiając heroku run consolei możesz zobaczyć, co jest wewnątrz ENV['COMMIT_HASH']zmiennej, uruchamiając heroku run echo $ENV['COMMIT_HASH'](ponieważ jest to zmienna środowiskowa, potrzebujesz '$' - podobnie jak echo $PATH).
ukośne
-1

heroku używa pod spodem zwykłego starego Gita, więc ...

pokaż 5 ostatnich zatwierdzeń w bieżącej gałęzi: git log -5

pokaż historię zmian za pomocą interfejsu GUI Gita: gitk

wyświetl aktualny stan (pokaże, czy masz jakieś niezatwierdzone pliki): git status

mj101
źródło