Откат heroku не обновил удаленную ветку HEAD, не так ли?

Я неправильно сделал толчок к героку и использовал откат героку, чтобы откатить его до предыдущей версии. Это отлично сработало, поскольку мое приложение heroku теперь обслуживает откатную версию.

Но когда коллега, вытащивший «поврежденный» push, попытался проверить «правильную» версию после отката, его проверка git из ветки master дает ему «поврежденную» версию, а не версию с откатом.

Есть идеи, почему Heroku откатил приложение, а не основной репозиторий git?


person LennonR    schedule 27.03.2012    source источник


Ответы (2)


В идеале вы не должны использовать Heroku для размещения репозитория Git, но:

Версия, в которой работает Heroku, и коммит HEAD в репозитории Git — это две разные вещи. Когда вы нажимаете, это говорит рельсотронам Heroku скомпилировать HEAD и развернуть его. Когда вы откатываете, он говорит рельсотронам скомпилировать слаг для предыдущего коммита. Это ничего не делает с репозиторием Git.

Поэтому после отката Heroku запускает HEAD -1, в то время как репозиторий Git остается нетронутым.

person Neil Middleton    schedule 28.03.2012
comment
Согласовано. Я попробовал git pull heroku <branch> после отката и получил тот же код, что и раньше. После отката, как можно обновить хероку HEAD, чтобы я мог вытащить это на локальное? - person Jibu James; 19.05.2016

  1. Найдите номер нужной версии отката, просмотрев предыдущие выпуски в терминале. (Значение после n указывает количество записей, которые вы хотите увидеть. Последние ~ 15 изменений приложения отображаются с «выпусками heroku»)

    heroku releases -n 7
    
  2. Терминал покажет последнее количество запрошенных вами версий/выпусков приложения.

    user@computer:~/dev/my-great-app$ heroku releases -n 7
    === my-great-app Releases
    v36  Rollback to v34            [email protected]  2016/12/01 04:49:01 (~ 3h ago)
    v35  Deploy 7234c83             [email protected]  2016/12/01 03:26:58 (~ 5h ago)
    v34  Deploy 1367a4f             [email protected]  2016/11/30 21:25:07 (~ 11h ago)
    v33  Set RAILS_ENV config vars  [email protected]  2016/11/30 13:12:18 (~ 22h ago)
    v32  Deploy 4536b70             [email protected]  2016/11/16 18:16:58
    v31  Deploy 731f37c             [email protected]  2016/10/23 04:33:18
    v30  Deploy 1fb79a6             [email protected]  2016/10/12 04:52:00
    
  3. Выберите развертывание, которое вы хотите извлечь. (В данном случае я выбрал 1367a4f, потому что v34 была чистой версией приложения.)

    git pull heroku 1367a4f
    
  4. Теперь у вас есть копия вашего приложения из откатной версии heroku. Чтобы сохранить эту копию, обязательно создайте для нее ветку в вашей среде git. Если вы совершенно новичок в этом, вы можете для душевного спокойствия скопировать весь каталог и спрятать его куда-нибудь, но это не обязательно. (Пожалуйста, не отмечайте этот ответ, чтобы предложить резервную копию каталога для тех, кто все еще немного возится с git.)

person knappen    schedule 01.12.2015