Як переглянути віддалену версію Git на Heroku


85

Для розгортання на Heroku я використовую git push heroku master. Але як я бачу, яку редакцію я підштовхнув до герою? (Я часто сумніваюся, якщо я підштовхнув останню версію вгору)

Для тих, хто не знайомий з ним, сценарій створення Heroku генерує віддалене сховище git, до якого ви натискаєте. Після натискання код розгортається чарівним чином.

Heroku додає віддалене сховище до локального у вигляді:

$ git remote add heroku git@heroku.com:appname.git

Більше інформації в посібнику Heroku "Розгортання за допомогою Git"

Питання: Як побачити останню версію в сховищі Heroku?

Відповіді:


63

Якщо ви щойно натиснули і хочете переконатись, що ви в курсі, тоді ви можете просто запустити, git remote show herokuі ви побачите результат, подібний до цього:

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

Що (up to date)в кінці буде замінено на, (fast forwardable)якщо це не оновлено.

Або, якщо ви хочете побачити повний журнал комітів для пульта дистанційного керування heroku, єдиний спосіб, як я знаю, - це перевірити його спочатку. git checkout heroku/masterдасть вам поточний хеш коміту та коментар коміту:, HEAD is now at <short commit hash>... <commit comment>і git logдасть вам решту історії.


Велике спасибі за цю відповідь! Я шукав його скрізь.
tbaums

3
Насправді не повідомляє вам посилання
Obie

чи є спосіб побачити самі файли в Інтернеті, як у репозиторії github?
eran otzap

128

Правильна відповідь насправді настільки проста. Вам не потрібно нічого перевіряти, а також не потрібно вдаватися до хаків COMMIT_HASH (які не працюють на стеці Cedar). Все, що вам потрібно зробити, це:git ls-remote <remote>

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

отже, це покаже вам версію, на яку вказується певне віддалене сховище?
EE33,

12
Щоб отримати вихідні дані цього повідомлення та легко побачити журнал коміту git та текстову різницю: git ls-remote heroku | awk 'END{print $1}' | xargs git show
Боббі Нортон

Коментар @ BobbyNorton - це пряма відповідь тут. Приємно.
Ben Hull

45

Тепер ви можете захотіти, heroku releasesі ви побачите приблизно 5 комітів. початок принаймні.


1
Дякую. Це насправді показує мені, що я хочу з'ясувати (після відкоту, що насправді працює).
Cymen

24

що стосовно

git log heroku/master

Залежно від того, як ви розгортаєте, masterпосилання на гілку може або не може бути оновлене до SHA, який було розгорнуто.
Джастін

11

якщо ви стикалися з ситуацією, як я щойно, коли колега повернув ваш додаток heroku до випуску, який не відображається, heroku releasesоскільки вони відстежують лише 2 випуски ... перевірка heroku / master метод не допоможе, оскільки HEAD вже не є тим, що розгортається.

недокументовані на допомогу:

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

це солодко, але чи є спосіб отримати останній git-коміт. я перевірив, що в ENV немає жодної змінної, яку я можу використовувати на дату.
Девід

10
Це більше не працює на Cedar, якщо буде якась заміна?
dolzenko

Я отримую 'heroku console' has been disabled( devcenter.heroku.com/changelog-items/109 ). Я намагався, heroku run "ENV['COMMIT_HASH']"але отримую bash: ENV[COMMIT_HASH]: command not found. Коли я використовую, echoя отримую рядок ENV[COMMIT_HASH].
gyaloni

Ви можете отримати доступ до консолі Rails у стеці Cedar, запустивши, heroku run consoleі ви зможете побачити, що знаходиться всередині ENV['COMMIT_HASH']змінної, запустивши heroku run echo $ENV['COMMIT_HASH'](оскільки це змінна середовища, вам потрібно '$' - дуже схоже echo $PATH).
нахил

-1

heroku використовує простий старий Git знизу, тому ..

показати останні 5 комітів з поточної гілки: git log -5

показати історію комітів через графічний інтерфейс Git: gitk

переглянути поточний статус (він відображатиметься, якщо у вас є якісь файли, які не були розблоковані): git status

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.