Heroku hat die Politik, alle Zweige außer "Meister" zu ignorieren.
Ich bin mir zwar sicher, dass die Designer von Heroku hervorragende Gründe für diese Richtlinie haben (ich vermute für die Speicher- und Leistungsoptimierung), aber für mich als Entwickler ist die Konsequenz, dass ich auf einfache Weise einen einfachen Weg möchte, egal an welchem lokalen Themenbereich ich arbeite um Herokus Master auf diesen lokalen Themenzweig umzustellen und einen "git push heroku -f" auszuführen, um den Master auf Heroku zu überschreiben.
Was ich durch das Lesen des Abschnitts "Pushing Refspecs" von http://progit.org/book/ch9-5.html erhalten habe, ist
Git Push -f Heroku Local-Topic-Zweig: Refs / Heads / Master
Was ich wirklich möchte, ist eine Möglichkeit, dies in der Konfigurationsdatei so einzurichten, dass "git push heroku" immer die oben genannten Schritte ausführt und den Zweig für lokale Themen durch den Namen meines aktuellen Zweigs ersetzt. Wenn jemand weiß, wie das geht, lass es mich wissen!
Die Einschränkung dafür ist natürlich, dass dies nur dann sinnvoll ist, wenn ich der einzige bin, der auf diese Heroku-App / dieses Heroku-Repository zugreifen kann. Ein Test- oder QS-Team könnte ein solches Repository verwalten, um verschiedene Kandidatenzweige auszuprobieren, aber sie müssten sich koordinieren, damit sie sich alle darauf einigen, welchen Zweig sie an einem bestimmten Tag darauf drängen.
Natürlich wäre es auch eine sehr gute Idee, ein separates Remote-Repository (wie GitHub) ohne diese Einschränkung für die Sicherung aller Daten zu haben. Ich würde diesen einen "Ursprung" nennen und "Heroku" für Heroku verwenden, so dass "Git Push" immer alles zum Ursprung sichert und "Git Push Heroku" jeden Zweig, auf dem ich mich gerade befinde, zu Herokus Hauptzweig schiebt und ihn überschreibt im Bedarfsfall.
Würde das funktionieren?
[entferntes "Heroku"] url = git@heroku.com: my-app.git push = + refs / Heads / *: Refs / Heads / Master
Ich würde gerne von jemandem hören, der mehr Erfahrung hat, bevor ich anfange zu experimentieren, obwohl ich wahrscheinlich eine Dummy-App auf Heroku erstellen und damit experimentieren könnte.
Was das Abrufen betrifft, ist es mir eigentlich egal, ob das Heroku-Repository schreibgeschützt ist. Ich habe immer noch ein separates Repository wie GitHub zum Sichern und Klonen aller meiner Arbeiten.
Fußnote: Diese Frage ähnelt der Good Git-Bereitstellung mit der Zweigstrategie mit Heroku , ist jedoch nicht ganz dieselbe .