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 git@heroku.com:appname.git

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

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

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

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.


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

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.


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

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"

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.