wake-up-neo.com

git Push Heroku Master sagt "Alles auf dem neuesten Stand", aber die App ist nicht aktuell

Ich habe eine App auf Heroku, die alten Code ausführt. Ich habe eine kleine Änderung vorgenommen und die Änderung übernommen. Ich bin dann gerannt

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 etwa 15 Tagen wieder auf eine andere Version in Heroku umgestellt, aber seitdem Updates dazu gepusht 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 verschieben? Ich habe Produktionsdaten in der Datenbank und möchte sie NICHT berühren.

Danke im Voraus!!

47
Darkmatter5

Bitte bestätigen Sie, dass Ihre derzeitige Niederlassung Master ist. 

 git branch 

Wenn der Zeiger nicht auf den Master zeigt, checken Sie den Master-Zweig aus

git checkout master

Übernehmen Sie Ihre Änderungen und versuchen Sie, zum Heroku zu drücken

git commit -am "xxxyyzzz"    
git Push heroku master
67
KannanHudson

Wenn Sie git Push heroku master ausführen, geht git davon aus, dass Sie vom Master aus pushen. Wenn Sie also Änderungen in einem anderen Zweig vornehmen, versuchen Sie, Ihren Master-Zweig ohne Änderungen zu pushen. 

Sie haben zwei Möglichkeiten

1.Merge deine Änderungen mit master und drücke sie.  

Übernehmen Sie Ihre Änderungen in Ihrem aktuellen Zweig, und führen Sie sie dann mit master zusammen

git commit -a - m "your messages"
git checkout master
git merge your_feature_branch
git Push heroku master

2.Push deine Änderungen aus deiner aktuellen Branche

git Push heroku your_feature_branch:master
44
levi

Ich bin bereit zu wetten, dass Sie vergessen haben, git add . gefolgt von git commit -m 'xyz' auszuführen?

11
stephenmurdoch

Ich hatte ein ähnliches Problem und meine Änderungen waren auf Heroku keineswegs sichtbar. Um mich zu bestätigen, nahm ich sogar einen Klon von Heroku und es war offensichtlich auf dem neuesten Stand.

Ich könnte mein Problem nur mit diesem Ansatz lösen:

Schritt 1: Erstellen Sie einen neuen Zweig aus master

git checkout -b new_branch

Schritt 2: Füge einfach einen Kommentar in einer beliebigen Datei ein, um ein neues Commit durchzuführen und dann:

git add .
git commit -m "Just a test commit to Push new branch to heroku"

Schritt 3: Schieben Sie den neuen Zweig auf Heroku.

git Push heroku new_branch:master
heroku restart

Sie konnten Ihre Änderungen jetzt erfolgreich auf Heroku sehen.

7
techdreams

Auch wenn dies ein altes Problem ist, wollte ich mit dem aktualisieren, was für mich (einen Neuling) funktionierte, sollte jemand anderes darauf stoßen:

Nachdem ich die Anweisungen hier (von Hudson) befolgt hatte, war der Trick für mich schließlich, einen "git pull" zu machen, nachdem ich den Zweig "master" ausgecheckt hatte. Vielleicht drückt "git Push heroku master" nur den dortigen Master-Zweig aus?

Dies setzt natürlich voraus, dass alle erforderlichen Änderungen korrekt in Ihren Master eingefügt wurden. Ich hatte mich seit der Gründung des Projekts nicht von master auf my local entschieden, da alle Zusammenführungen (von der Entwicklung zum Master) auf GitHub durchgeführt wurden und ich an neuen Niederlassungen gearbeitet habe, die später mit der Entwicklung zusammengeführt wurden. 

Um die oben genannten Schritte von Hudson zu wiederholen:

git checkout master

git pull

(hier habe ich README aktualisiert, um eine Änderung zu bestätigen, wie "Heroku deploy [date, time]")

git add .

git commit -am "xxxyyzzz" 

git Push heroku master

heroku run rake db:migrate

heroku restart

Viel Glück!

4
Milena

Versuchen:

heroku status 

Dies gab folgende Informationen zurück, die bestätigten, dass das Problem bei der Heroku-API lag (und nicht bei meiner App!):

"Die API erfährt Verzögerungen. Dies kann zu Verzögerungen beim Hinzufügen neuer Domänen, neuer Releases und anderen derartigen Aktionen führen. Derzeit untersuchen die Ingenieure das Problem."

3
user5783745

In diesem Fall schiebe ich den vorherigen Commit-Hash wie folgt:

git Push some-heroku-app-name ee3bca189acec89f5e9b098692ab6cee386a8f25:master --force

Dann drücke ich den Master erneut so:

git Push some-heroku-app-name master:master
2

Mein ausführbarer Name hat sich geändert, aber ich habe vergessen, den Namen in meiner Procfile zu ändern. Während alle Dateien in Heroku korrekt aktualisiert wurden, wurde dieselbe alte ausführbare Datei ausgeführt. Ich habe heroku local Von der Befehlszeile aus verwendet, um dieses Problem zu ermitteln.

0
birken25

Wenn Sie Java verwenden, vergessen Sie nicht, das Projekt vor dem Push neu zu erstellen.

Im Falle von Gradle:

gradlew clean install
0
Ab_

Dasselbe Problem: Ich habe meinem lokalen Repository mit dem Befehl heroku git: remote eine Fernbedienung hinzugefügt und diese dann verschoben.

heroku git:remote -a your-heroku-app

git Push heroku master
0
Jordan Taylor

hatte das gleiche problem, was für mich funktioniert hat: mach ein Commit mit einer zufälligen Nachricht und dann Push

git commit -m"random message"

git Push heroku master
0
Gil Grencho

Ich weiß, ich weiß, dumm, aber es ist mir passiert, also lasse ich andere eine Warnung: Stellen Sie sicher, dass die App, auf die Sie drücken, die gleiche App ist, die Sie auf Änderungen überprüfen.

In meinem Fall habe ich die Bereitstellung und Ausführung einer Shell in der Produktion vorangetrieben und nicht verstanden, 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 veröffentlichte, aber es war wahrscheinlich ein One-Push-Zufall, der mich nur für eine weitere Stunde im Kreis hielt, weil ich die falsche App getestet hatte. )

0
Aur Saraf