Заставить Heroku запустить не мастерскую ветку Git

182

У меня есть проект, размещенный на Heroku, и он дошел до того, что я хочу создать альтернативный тестовый сервер (чтобы я мог тестировать работников Heroku, не мешая работе).

Я уже настроил свой основной пульт Heroku, на котором работает мой ствол, и пульт Heroku-dev, на котором я хочу запустить альтернативную ветку.

Моя проблема в том, что поскольку моя альтернативная ветвь не мастер, Heroku не будет ее строить.

$ git push heroku-dev test
counting objects ...
...
Pushed to non-master branch, skipping build.
To git@heroku.com:example-dev.git
* [new branch]      test -> test

Переключить эту сборку на master на данный момент не вариант. Очевидно, что одним из вариантов является создание нового репозитория git, который является клоном моей тестовой ветки, но звучит не очень идеально.

AlexQueue
источник

Ответы:

361

Вы можете выдвинуть альтернативную ветку к Heroku, используя Git.

git push heroku-dev test:master

Это выдвигает вашу локальную тестовую ветвь в главную ветку пульта (на Heroku).

jordelver
источник
12
Действительно - это тоже задокументировано: devcenter.heroku.com/articles/…
Джон Маунтджой,
50
Стоит также отметить, что когда вы будете готовы вернуться к мастеру, вам нужно это сделатьgit push -f heroku master:master
Брайан Армстронг,
5
Есть ли способ развертывания с использованием ветки non-master на Heroku, чтобы Heroku оставалась masterнетронутой для дальнейшего продвижения?
Эрик Уокер,
3
Нет, Героку всегда использует master. Какой у вас вариант использования?
Джордельвер
5
@SDP Что-то, что я делал в прошлом для отладки Heroku, это что-то фиксирует, передает его в Heroku, затем (если это не сработало) пробует что-то другое, фиксирует это (с помощью git commit --amend), передает это в Heroku (используя -fфлаг) и повторять до исправления. Как только это исправлено, убедитесь, что финал --amend- это хороший чистый коммит с разумным сообщением, а затем переходите к следующему. Таким образом, вы можете тестировать вещи в течение всего дня без нескольких коммитов. Это не красиво, но это делает работу :)
Симон
3

В моем случае была разработана ветка по умолчанию или базовая , поэтому я использовал:

          git push heroku develop:master 
Okpo
источник
0

Если git push heroku-dev test: master у вас не работает, попробуйте git push heroku test: master. Помните, что «test» в «test: master» - это название новой ветки, в которой вы находитесь.

Джон
источник
-1

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

Запустите следующую команду в вашем локальном хранилище

git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
kingkeamo
источник