Wie kann ich alte Commits für Heroku bereitstellen

Lesezeit: 3 Minuten

Benutzer-Avatar
Yarin

Wir versuchen zum ersten Mal, ein großes Rails-Projekt für Heroku bereitzustellen, aber während des Heroku-Kompilierungsprozesses geht etwas kaputt, und wir haben es getan keine Ahnung was.

Also gehen wir jetzt zu Plan B, der darin besteht, die Commit-Kette nach oben zu gehen und die Bereitstellung bei jedem Schritt gegen Heroku zu testen, bis wir herausfinden, an welchem ​​​​Punkt es nicht mehr kompilierbar ist. (Ja, es ist das Beste, was mir an dieser Stelle einfallen könnte.)

Also dachte ich mir, dass ich das Projekt einfach lokal klonen, einige alte Commits auschecken und nach heroku pushen würde. Aber dann entdeckte ich, dass, wenn ich von irgendetwas anderem als dem Master auf Heroku pushe, die App nicht erstellt wird. Stattdessen heißt es: “Pushed to non-master branch, skipping build.”

Also ist jetzt sogar mein schlechter Plan ein Reinfall. Ich suche hier nur eine Pause. Irgendwelche Ideen, wie man das macht, was ich versuche zu tun?

Es ist nicht so, dass Heroku nur baut, wenn Sie pushen aus Meister, vielmehr baut Heroku nur, wenn Sie drängen zu Meister. Wenn du es nur tust

git push heroku

dann verschieben Sie wahrscheinlich Ihren lokalen Zweig auf einen mit demselben Namen auf Heroku (das genaue Standardverhalten ist konfigurierbar). Sie können mit Push von einem anderen lokalen Zweig zum Heroku-Master übertragen

git push heroku my_local_branch:master

oder, wenn Sie bereits ausgecheckt sind my_local_branch Du könntest benutzen

git push heroku HEAD:master

Siehe die Dokumentation für git push – Besonders die Beispiele gegen Ende können helfen.

Sie werden wahrscheinlich auch verwenden müssen -f um den Stoß zu erzwingen:

git push -f heroku my_local_branch:master

  • Super @matt- genau das, was ich brauchte. Und das fand ich gerade beschrieben in den Heroku-Dokumenten auch. Frage: warum sollte ich das müssen -f aber erzwingen?

    – Jarin

    29. September 2013 um 21:31 Uhr

  • @Yarin Wenn Sie versuchen, ein früheres Commit als das, was bereits läuft, zu pushen master, git hält dich normalerweise auf. Sie müssen verwenden -f zu sagen: „Ja, ich möchte diese späteren Commits wirklich überschreiben (und möglicherweise verlieren).

    – matt

    29. September 2013 um 21:34 Uhr

Benutzer-Avatar
Ricky Sahu

Es ist viel einfacher, das gewünschte Ergebnis mit Heroku zu erzielen, als mit dem mehrstufigen Git-Prozess, Code einzuchecken und zu pushen. Dies hält Ihren Git-Verlauf sauber.

$ heroku releases
$ heroku rollback v11

  • Bitte fügen Sie eine Erklärung hinzu, warum dies eine bessere Lösung ist

    – StormeHawke

    17. Dezember 2014 um 16:29 Uhr

  • Ich denke, die Frage war, wie man einen Commit bereitstellt, der noch nie zuvor auf heroku remote gepusht wurde. Sie geben eine Lösung zum Zurücksetzen auf ein Commit, das bereits für Heroku bereitgestellt wurde

    – AzaFromKaza

    13. Mai 2015 um 7:25 Uhr

Wenn Sie ein bestimmtes Commit zu heroku pushen möchten, geht das so:

git push heroku 5ad0f3d913f2a92cc095af9c7b6242263da58160:master

Einfach ersetzen 5ad0f3d913f2a92cc095af9c7b6242263da58160 mit Ihrem gewünschten Commit.

Quelle: https://stackoverflow.com/a/3230241/5783745

1113990cookie-checkWie kann ich alte Commits für Heroku bereitstellen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy