Ich habe eine App auf Heroku, auf der alter Code ausgeführt wird. Ich habe eine kleine Änderung vorgenommen und die Änderung übernommen. Ich rannte dann
git push heroku master
Es wird sagen
Fetching repository, done.
Everything up-to-date
Aber wenn ich mir die App anschaue, ist alles alter Code. Ich habe die Site vor ungefähr 15 Tagen auf eine andere Version in Heroku zurückgesetzt, aber seitdem Aktualisierungen vorgenommen, und sie haben funktioniert.
Warum erhält Heroku nicht die aktuellsten Dateien aus meinem Github-Repository? Gibt es eine Möglichkeit, die App einfach zurückzusetzen und die Dateien erneut von Github zu übertragen? Ich habe Produktionsdaten in der Datenbank, daher möchte ich sie NICHT berühren.
Danke im Voraus!!
Antworten:
Bitte bestätigen Sie, dass Ihre aktuelle Niederlassung Master ist.
Wenn der Zeiger nicht auf den Master zeigt, checken Sie zum Master-Zweig aus
Übernehmen Sie Ihre Änderungen und versuchen Sie, auf Heroku zu pushen
quelle
git push heroku yourlocalbranch:master
Wenn Sie Ihre lokale, nicht Master-Niederlassung zu Heroku Master schieben möchtenWenn du rennst
git push heroku master
, geht git davon aus, dass Sie vom Master aus pushen. Wenn Sie also Änderungen in einem anderen Zweig vornehmen, werden Sie versuchen, Ihren Master-Zweig ohne Änderungen zu pushen.Sie haben zwei Möglichkeiten
1.Merge deine Änderungen mit Master und schiebe sie.
Übernehmen Sie Ihre Änderungen in Ihrem eigentlichen Zweig und führen Sie sie dann mit dem Master zusammen
2.Push Ihre Änderungen aus Ihrem tatsächlichen Zweig
quelle
Ich hatte ein ähnliches Problem und meine Änderungen waren auf Heroku keineswegs sichtbar. Um mich zu bestätigen, habe ich sogar einen Klon von Heroku genommen und er war offensichtlich auf dem neuesten Stand.
Ich konnte mein Problem nur mit folgendem Ansatz lösen:
Schritt 1: Erstellen Sie einen neuen Zweig aus
master
Schritt 2: Fügen Sie einfach einen Kommentar in eine beliebige Datei ein, um ein neues Commit durchzuführen, und dann:
Schritt 3: Schieben Sie den neuen Zweig zu Heroku.
Sie konnten jetzt Ihre Änderungen erfolgreich auf Heroku sehen.
quelle
git push heroku new_branch:master
halfIch bin bereit zu wetten, dass du vergessen hast zu rennen,
git add .
gefolgt vongit commit -m 'xyz'
?quelle
Obwohl dies ein altes Problem ist, wollte ich aktualisieren, was für mich (einen Neuling) funktioniert, sollte jemand anderes darauf stoßen:
Nachdem ich den Anweisungen hier (von Hudson) gefolgt war, war der Trick für mich schließlich ein "Git Pull", nachdem ich den "Master" -Zweig ausgecheckt hatte. Vielleicht schiebt "git push heroku master" nur den lokalen Zweig des Masters heraus?
Dies setzt natürlich voraus, dass alle erforderlichen Änderungen korrekt in Ihrem Master zusammengeführt wurden. Ich hatte seit der Einrichtung des Projekts nicht mehr von Master auf meinem lokalen Standort abgerufen, da alle Zusammenführungen (von Entwicklung zu Master) auf GitHub ausgeführt wurden und ich an neuen Zweigen gearbeitet hatte, die später mit der Entwicklung zusammengeführt wurden.
Um die obigen Schritte von Hudson noch einmal zu wiederholen:
git checkout master
git pull
(Hier habe ich README aktualisiert, um eine Änderung zu bestätigen, z. B. "Heroku-Bereitstellung [Datum, Uhrzeit]".
git add .
git commit -am "xxxyyzzz"
git push heroku master
heroku run rake db:migrate
heroku restart
Viel Glück!
quelle
Versuchen:
heroku status
Dies ergab Folgendes, was bestätigte, dass das Problem bei der Heroku-API lag (und nicht bei meiner App!):
"Bei der API treten Verzögerungen auf. Dies kann zu Verzögerungen beim Hinzufügen neuer Domänen, neuer Versionen und anderer solcher Aktionen führen. Derzeit untersuchen Ingenieure das Problem."
quelle
In diesem Fall drücke ich den vorherigen Commit-Hash wie folgt:
Dann drücke ich den Meister wie folgt neu:
quelle
--force
zum ersten Befehl hinzufügen .Gleiches Problem: Ich habe meinem lokalen Repository mit dem Befehl heroku git: remote eine Fernbedienung hinzugefügt und diese dann gepusht.
quelle
Ich weiß, ich weiß, dumm, aber es ist mir passiert, also überlasse ich anderen eine Warnung: Stellen Sie sicher, dass die App, auf die Sie pushen, dieselbe App ist, die Sie auf Änderungen prüfen.
In meinem Fall habe ich versucht, eine Shell für die Produktion bereitzustellen und dann auszuführen, ohne zu verstehen, warum sich die statischen Dateien nicht geändert haben.
(Es begann mit einem echten Problem, bei dem sich statische Dateien nicht geändert haben, als ich eine neue Version gepusht habe, aber es war wahrscheinlich ein One-Push-Zufall, und es hat mich nur eine weitere Stunde im Kreis gehalten, weil ich die falsche App getestet habe. )
quelle
Wenn Sie Java verwenden, vergessen Sie nicht, das Projekt vor dem Push neu zu erstellen.
Im Falle von Gradle:
quelle
webpack -p --progress --config webpack.config.prod.js
(wobei das letzte Argument der Name Ihrer Webpack-Konfigurationsdatei ist) und anschließendes Festschreiben und Drücken wurde das Problem für mich behoben.Mein ausführbarer Name hatte sich geändert, aber ich habe vergessen, den Namen in meiner Procfile zu ändern . Während also alle Dateien in Heroku korrekt aktualisiert wurden, wurde dieselbe alte ausführbare Datei ausgeführt. Ich habe
heroku local
über die Befehlszeile verwendet, um dieses Problem aufzuspüren.quelle
Hatte das gleiche Problem mehrmals. Was hat bei mir funktioniert, wenn ich meinen Browserverlauf gelöscht oder die App in einem Inkognito-Fenster geöffnet habe?
quelle
hatte das gleiche Problem, was für mich funktionierte war: Machen Sie ein Commit mit einer zufälligen Nachricht und drücken Sie dann
quelle