Heroku придерживается политики игнорирования всех ветвей, кроме «master».
Хотя я уверен, что у дизайнеров Heroku есть веские причины для этой политики (я предполагаю, что для хранения и оптимизации производительности), для меня как для разработчика следствием является то, что в какой-либо локальной ветке тем, над которой я могу работать, я бы хотел легкий путь переключить мастера Heroku на эту локальную ветку и выполнить команду «git push heroku -f», чтобы перезаписать мастер на Heroku.
Что я получил, прочитав раздел «Pushing Refspecs» на http://progit.org/book/ch9-5.html :
git push -f heroku local-topic-branch: refs / возглавляет / мастер
Что мне действительно нравится, так это способ установить это в файле конфигурации так, чтобы «git push heroku» всегда делал вышеуказанное, заменяя local-topic-branch на имя того, кем является моя текущая ветка. Если кто-нибудь знает, как этого добиться, пожалуйста, дайте мне знать!
Предостережение для этого, конечно, заключается в том, что это разумно, только если я единственный, кто может перейти к этому приложению / репозиторию Heroku. Команда тестирования или QA может управлять таким репозиторием, чтобы опробовать разные ветви-кандидаты, но им придется координировать свои действия, чтобы они все сошлись во мнении, какую ветку они продвигают в данный день.
Излишне говорить, что было бы очень неплохо иметь отдельный удаленный репозиторий (например, GitHub) без этого ограничения для резервного копирования всего. Я бы назвал это «происхождение» и использовал бы «heroku» для Heroku, так что «git push» всегда копирует все в начало, а «git push heroku» помещает любую ветвь, в которой я сейчас нахожусь, в главную ветку Heroku, перезаписывая ее если необходимо.
Будет ли это работать?
[удаленная "герока"] url = git@heroku.com: my-app.git нажать = + ссылки / головы / *: ссылки / головы / мастер
Я хотел бы услышать от кого-то более опытного, прежде чем я начну экспериментировать, хотя я полагаю, что мог бы создать фиктивное приложение на Heroku и поэкспериментировать с этим.
Что касается извлечения, то мне все равно, доступен ли репозиторий Heroku только для записи. У меня все еще есть отдельный репозиторий, такой как GitHub, для резервного копирования и клонирования всей моей работы.
Сноска. Этот вопрос похож на развертывание Good Git с использованием стратегии ветвления с Heroku , но не совсем так ?