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