Lassen Sie Heroku einen Nicht-Master-Git-Zweig ausführen


182

Ich habe ein Projekt auf Heroku gehostet und es ist an einem Punkt angelangt, an dem ich einen alternativen Testserver erstellen möchte (damit ich Heroku-Mitarbeiter testen kann, ohne die Produktion zu beeinträchtigen).

Ich habe bereits meine Heroku-Hauptfernbedienung für meinen Kofferraum und eine Heroku-dev-Fernbedienung eingerichtet, auf der ich einen alternativen Zweig betreiben möchte.

Mein Problem ist, dass Heroku es nicht bauen wird, da mein alternativer Zweig kein Master ist.

$ 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

Das Umschalten dieses Builds auf Master ist derzeit keine Option. Natürlich besteht eine Möglichkeit darin, ein ganz neues Git-Repo zu erstellen, das ein Klon meines Testzweigs ist, aber das klingt nicht sehr ideal.

Antworten:


361

Sie können mit Git einen alternativen Zweig zu Heroku verschieben.

git push heroku-dev test:master

Dadurch wird Ihr lokaler Testzweig zum Hauptzweig der Fernbedienung (auf Heroku) verschoben.


12
In der Tat - es ist auch dokumentiert: devcenter.heroku.com/articles/…
Jon Mountjoy

50
Bemerkenswert ist auch, wenn Sie bereit sind, zum Meister zurückzukehren, müssen Sie tungit push -f heroku master:master
Brian Armstrong

5
Gibt es eine Möglichkeit, mithilfe eines Nicht-Master-Zweigs auf Heroku bereitzustellen, um Heroku masterfür spätere Beförderungen makellos zu halten ?
Eric Walker

3
Nein, Heroku benutzt immer master. Was ist Ihr Anwendungsfall?
Jordanelver

5
@SDP Etwas, was ich in der Vergangenheit für das Heroku-Debugging getan habe, ist, etwas festzuschreiben, es an Heroku zu senden und dann (wenn das nicht funktioniert hat) etwas anderes zu versuchen, es (mit git commit --amend) festzuschreiben, das an Heroku zu senden (unter Verwendung der -fFlagge) und wiederholen, bis fest. Sobald es behoben ist, stellen Sie sicher, dass das Finale --amendein schönes, sauberes Commit mit einer vernünftigen Nachricht ist, und fahren Sie dann mit dem nächsten Schritt fort. Auf diese Weise können Sie den ganzen Tag ohne mehrere Commits testen. Es ist nicht schön, aber es erledigt den Job :)
Simon

2

In meinem Fall wurde der Standard- oder Basiszweig entwickelt , also habe ich Folgendes verwendet:

          git push heroku develop:master 

0

Falls Git Push Heroku-Dev Test: Master für Sie nicht funktioniert, versuchen Sie Git Push Heroku Test: Master. Denken Sie daran, dass "test" in "test: master" der Name des neuen Zweigs ist, in dem Sie sich befinden.


-1

Sie müssen zuerst den Remote-Zweig ziehen, bevor Sie den Nicht-Master-Zweig verschieben können.

Führen Sie den folgenden Befehl in Ihrem lokalen Repository aus

git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.