Bei Heroku werden alle Zweige außer "master" ignoriert.
Ich bin mir zwar sicher, dass die Entwickler von Heroku gute Gründe für diese Politik haben (ich vermute, aus Gründen der Speicher- und Leistungsoptimierung), aber die Konsequenz für mich als Entwickler ist, dass ich, egal an welchem lokalen Themenzweig ich arbeite, gerne eine einfache Möglichkeit hätte, den Master von Heroku auf diesen lokalen Themenzweig umzustellen und einen "git push heroku -f" auszuführen, um den Master auf Heroku zu überschreiben.
Was ich beim Lesen des Abschnitts "Pushing Refspecs" in http://progit.org/book/ch9-5.html es
git push -f heroku local-topic-branch:refs/heads/master
Was ich wirklich gerne hätte, ist eine Möglichkeit, dies in der Konfigurationsdatei einzurichten, so dass "git push heroku" immer das oben genannte tut, anstelle von lokales-Thema-Zweigstelle mit dem Namen der aktuellen Niederlassung. Wenn jemand weiß, wie man das macht, bitte ich um einen Hinweis!
Dies ist natürlich nur dann sinnvoll, wenn ich der Einzige bin, der zu dieser Heroku-App bzw. diesem Repository pushen kann. Ein Test- oder QA-Team könnte ein solches Repository verwalten, um verschiedene Kandidatenzweige auszuprobieren, aber sie müssten sich abstimmen, damit sie sich einig sind, welchen Zweig sie an einem bestimmten Tag in das Repository pushen.
Natürlich wäre es auch eine sehr gute Idee, ein separates entferntes Repository (wie GitHub) ohne diese Einschränkung zu haben, um alles zu sichern. Ich würde dieses Repository "origin" nennen und "heroku" für Heroku verwenden, so dass "git push" immer alles in origin sichert und "git push heroku" den Zweig, in dem ich mich gerade befinde, in den Master-Zweig von Heroku verschiebt und ihn gegebenenfalls überschreibt.
Würde das funktionieren?
\[remote "heroku"\]
url = git@heroku.com:my-app.git
push = +refs/heads/\*:refs/heads/master
Ich würde gerne von jemandem mit mehr Erfahrung hören, bevor ich anfange zu experimentieren, obwohl ich vermute, ich könnte eine Dummy-App auf Heroku erstellen und damit experimentieren.
Was das Abrufen angeht, ist es mir egal, ob das Heroku-Repository schreibgeschützt ist. Ich habe immer noch ein separates Repository, wie GitHub, für die Sicherung und das Klonen all meiner Arbeit.
Fußnote: Diese Frage ist ähnlich, aber nicht ganz gleichbedeutend mit Gute Git-Bereitstellung mit Zweigen Strategie mit Heroku?