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.