Как я могу использовать старые коммиты для Heroku

Мы пытаемся развернуть большой проект Rails в Heroku в первый раз, но что-то ломается во время процесса компиляции Heroku, и мы не знаем, что.

Итак, теперь мы собираемся планировать B, который должен поднять цепочку фиксации и протестировать развертывание каждого шага на пути против Heroku, пока мы не выясним, в какой момент он становится несовместимым. (Да, это лучшее, что я мог бы придумать на этом этапе.)

Итак, я понял, что просто клонировал проект локально, проверял некоторые старые коммиты и нажимал на героку. Но потом я обнаружил, что если я выталкиваю герою из ничего, кроме мастера, он не создает приложение? Вместо этого он говорит: "Вдавливается в не-ведущую ветку, пропуская сборку".

Итак, даже мой плохой план - это не стартер. Я просто ищу здесь перерыв. Любые идеи о том, как делать то, что я пытаюсь сделать?

Ответ 1

Не то, чтобы Героку строил, только если вы нажмете от мастера, а Героку будет строить, только если вы нажмете на мастер. Если вы просто делаете

git push heroku

то вы, вероятно, подталкиваете свою локальную ветвь к одному с тем же именем на Heroku (точное поведение по умолчанию настраивается). Вы можете нажать от другого локального ветки до мастера Heroku с помощью

git push heroku my_local_branch:master

или, если вы уже вышли на my_local_branch, вы можете использовать

git push heroku HEAD:master

См. документацию для git push - примеры в конце, в частности, могут помочь.

Вам, вероятно, также потребуется использовать -f для принудительного нажатия:

git push -f heroku my_local_branch:master

Ответ 2

Гораздо легче добиться желаемого результата с помощью героку вместо многошагового процесса git проверки кода и нажатия его. Это позволит вам сохранить историю git.

$ heroku releases
$ heroku rollback v11