Как просмотреть удаленную версию Git на Heroku
-
21-09-2019 - |
Вопрос
Для развертывания в Heroku я использую git push heroku master
.Но как мне узнать, какую ревизию я установил на героку?(Я часто сомневаюсь, выложил ли я последнюю версию)
Для тех, кто не знаком с ним: сценарий создания Heroku создает удаленный репозиторий git, в который вы отправляете данные.При нажатии код развертывается волшебным образом.
Heroku добавляет удаленный репозиторий к локальному в виде:
$ git remote add heroku git@heroku.com:appname.git
Дополнительная информация в руководстве Heroku. «Развертывание с помощью Git»
Вопрос:Как я могу увидеть последнюю версию в репозитории Heroku?
Решение
Если вы только что нажали и хотите убедиться, что у вас установлены последние версии, вы можете просто запустить 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
расскажет вам остальную часть истории.
Другие советы
Правильный ответ на самом деле очень прост.Вам не нужно ничего проверять, а также не нужно прибегать к хакам COMMIT_HASH (которые не работают в стеке Cedar).Все, что вам нужно сделать, это: git ls-remote <remote>
> git ls-remote heroku
ddaszxcewb585d3a3c00de816a197b14462791a3 HEAD
ddaszxcewb585d3a3c00de816a197b14462791a3 refs/heads/master
Теперь вы можете захотеть heroku releases
и вы увидите около 5 коммитов.хотя бы начало.
как насчет
git log heroku/master
если вы столкнулись с ситуацией, как я только что сделал, когда коллега откатил ваше приложение Heroku до версии, которая не отображается в heroku releases
потому что они отслеживают только 2 релиза...проверка метода Heroku/master не поможет, потому что HEAD больше не используется.
недокументированные в помощь:
$ heroku console "ENV['COMMIT_HASH']"
"12abcdef"
Heroku использует старый добрый Git, так что...
показать последние 5 коммитов в текущей ветке:git log -5
показать историю коммитов через графический интерфейс Git:gitk
просмотреть текущий статус (он покажет, есть ли у вас незафиксированные файлы):git status