[RUBY] [Abgelehnt] Ein Memorandum, da während der Bereitstellung in Heroku ein Fehler aufgetreten ist

Überblick

Es geschah, als ich versuchte, Heroku bereitzustellen, indem ich den Befehl "git push heroku master" eingab.

Terminal


% git push heroku master
To https://git.heroku.com/~~.git
 ![rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://git.heroku.com/~~.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Die Punkte sind "abgelehnt", "nicht schneller Vorlauf", "Hinweis".

Fazit

Zusammenfassend war es ein Fehler, der auftrat, weil es keinen Unterschied (Zustand) zwischen Heroku und dem lokalen Commit gab. Es scheint, dass Heroku engagierter war.

Lösung

Eine der folgenden Lösungen wurde in Betracht gezogen! Einfach ausgedrückt, "Git Pull Heroku Master" stimmt lokal mit Herokus Status überein, und "Git Pull Origin Master" spiegelt den Remote-Status lokal wider, um den Remote-Status mit dem lokalen Status abzugleichen. Überlegen.

Der Punkt ist, die Remote-, lokalen und Heroku-Zustände (nach der Bereitstellung) auf dem neuesten Stand zu halten.

Diesmal habe ich es mit git pull heroku master gelöst!

% git pull origin master
% git pull heroku master

Hypothese

Was für eine Situation ist dieser Fehler? "abgelehnt" bedeutet, dass die Bereitstellung abgelehnt wird. Sie geben sorgfältig "Hinweis" aus, so dass es scheint, dass Sie es lösen können, wenn Sie jeden einzelnen verstehen. Es ist auch eine Fehleranweisung, dass "nicht schneller Vorlauf" nicht gepusht werden kann, da er bereits gepusht wurde. Grundsätzlich habe ich vom Master-Zweig aus bereitgestellt, also habe ich "git commit --allow-empty -m" empty commit "" "und dann" git push heroku master "" ausgeführt Es war. Möglicherweise haben Sie in diesem Status einen neuen Arbeitszweig erstellt, indem Sie nach einem leeren Commit Rückgängig oder Zurücksetzen ausführen. ..

Ich denke auch, dass es effektiv ist, die Fehleranweisung anhand des Heroku-Protokolls zu überprüfen.

Terminal


% heroku logs --tail --App App Name

Wenn Sie auf den ersten Satz des Hinweises achten

hint


Updates were rejected because the tip of your current branch is behind

Wörtlich übersetzt *** Das Update wurde abgelehnt, da die Spitze des aktuellen Zweigs zurückliegt. *** ist was es bedeutet. Bedeutet das, dass es eine Lücke oder einen Unterschied beim Commit gibt? ..

Ich hatte einen Fehler mit "Git Push Heroku Master", also dachte ich über die folgenden zwei Dinge nach.

  1. Es gibt einen Unterschied zwischen Remote und Local.
  2. Es gibt einen lokalen Unterschied zu Heroku. Überprüfung

  1. Es gibt einen Unterschied zwischen Remote und Local.

Terminal


% git pull origin master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

From https://github.com/~~
 * branch            master     -> FETCH_HEAD
Already up to date.

Schon auf dem neuesten Stand! Ist schon auf dem neuesten Stand. (Oder vielleicht war es aktuell) Danach habe ich "git push heroku master" ausprobiert, aber der gleiche Fehler ist ohne besondere Änderung aufgetreten, also als nächstes.

  1. Es gibt einen lokalen Unterschied zu Heroku.
% git pull heroku master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

From https://git.heroku.com/~~
 * branch            master     -> FETCH_HEAD
Already up to date!
Merge made by the 'recursive' strategy.

Die Punkte, von denen ich denke, dass sie die Punkte sind, werden unten beschrieben.

Already up to date!
Merge made by the 'recursive' strategy.

Es scheint, dass es automatisch zusammengeführt wurde, also habe ich GitHub Desktop überprüft! Es scheint, dass frühere Commits zusammengeführt wurden und die Unterschiede verschwunden sind.

Nach der Bestätigung wurde die Bereitstellung mit "git push heroku master" abgeschlossen.

Zusammenfassung

Ich habe auf folgenden Artikel verwiesen! Vielen Dank! !!

http://shoprev.hatenablog.com/entry/2014/07/31/200540 https://qiita.com/taka_no_okapi/items/0444afde4817920d0671 https://qiita.com/nasutaro211/items/c590994a5d5091206c08

Recommended Posts

[Abgelehnt] Ein Memorandum, da während der Bereitstellung in Heroku ein Fehler aufgetreten ist
[Nicht autorisierter Vorgang] Ein Memorandum, da beim Erstellen einer EC2-Instanz ein Fehler aufgetreten ist.
Fehlerbehebung bei Heroku
Ein Memorandum Note, wenn Apache Maven auf einem internen Proxy ausgeführt wird
[Memorandum] Was ist ein Fehler?
[Abgelehnt] Ein Memorandum, da während der Bereitstellung in Heroku ein Fehler aufgetreten ist
Ein Beispiel für einen FactoryBot-Fehler [KeyError: Factory nicht registriert: "Benutzer"]
[Nicht autorisierter Vorgang] Ein Memorandum, da beim Erstellen einer EC2-Instanz ein Fehler aufgetreten ist.
Bei der Einführung von JOOQ in Spring Boot wurde eine Geschichte behandelt, die behandelt wurde, weil bei Liquidbase ein Fehler aufgetreten ist
Stellen Sie die Kriegsdatei auf Heroku bereit
DB-Fehler bei der Bereitstellung mit Heroku
Bei der Einführung von JOOQ in Spring Boot wurde eine Geschichte behandelt, die behandelt wurde, weil bei Liquidbase ein Fehler aufgetreten ist