Ich verwende Git, um meine beiden Computer und meine Entwicklung zu verwalten. Ich versuche, Änderungen an GitHub zu übernehmen, und erhalte den Fehler.
Fehler beim Drücken einiger Refs
<repo>
. Um zu verhindern, dass Sie den Verlauf verlieren, wurden Aktualisierungen ohne schnellen Vorlauf abgelehnt. Führen Sie Remote-Änderungen zusammen, bevor Sie erneut drücken.
Was könnte dies verursachen und wie kann ich das beheben?
BEARBEITEN:
Durch Ziehen des Repos wird Folgendes zurückgegeben:
* Branch Master-> Master (nicht schneller Vorlauf) Bereits aktuell
Das Drücken gibt mir immer noch den oben genannten Fehler.
git
version-control
Moshe
quelle
quelle
Antworten:
GitHub hat einen schönen Abschnitt namens " Umgang mit" Nicht-Schnellvorlauf "-Fehlern "
Git kann auf der Fernbedienung keine Änderungen vornehmen, wie z. B. eine Schnellvorlaufzusammenführung, die in einer Visual Git-Referenz wie folgt dargestellt wird:
Dies ist nicht genau Ihr Fall, hilft aber zu erkennen, was "schneller Vorlauf" ist (wobei der
HEAD
eines Zweigs einfach in ein neues, neueres Commit verschoben wird).Das "
branch master->master (non-fast-forward) Already-up-to-date
" steht normalerweise für lokale Zweigstellen, die ihr entferntes Gegenstück nicht verfolgen.Siehe zum Beispiel diese SO-Frage " Git Pull sagt aktuell, aber Git Push lehnt nicht schnellen Vorlauf ab ".
Oder die beiden Zweige sind miteinander verbunden, aber nicht mit ihrer jeweiligen Geschichte einverstanden:
Siehe " Unendliche GIT-Geschichte - was mache ich hier falsch? "
quelle
Dies bedeutet, dass andere Commits an das Remote-Repository gesendet wurden, die sich von Ihren Commits unterscheiden. Sie können dies normalerweise mit einem lösen
bevor du drückst
Letztendlich bedeutet "schneller Vorlauf", dass die Commits direkt auf den Arbeitsbaum angewendet werden können, ohne dass eine Zusammenführung erforderlich ist.
quelle
Bei einem Schnellvorlauf-Update werden die einzigen Änderungen auf der einen Seite nach dem letzten Festschreiben auf der anderen Seite vorgenommen, sodass keine Zusammenführung erforderlich ist. Dies bedeutet, dass Sie Ihre Änderungen zusammenführen müssen, bevor Sie pushen können.
quelle
In diesem Fall möchten Sie möglicherweise Gewalt mit Push-Betrieb anwenden
Git Push Origin Master - Force
quelle
Tun Sie niemals etwas
git -f
zu tun,push
da dies zu späteren katastrophalen Folgen führen kann.Sie müssen nur eine
git pull
Ihrer lokalen Niederlassungen durchführen.Ex:
und dann mache a
git push
quelle
Sie müssen das zusammenführen und auflösen,
conflicts locally
bevor Sie Ihre Änderungen an Remote Repo / Fork übertragen.1) ziehen (holen und zusammenführen)
2) Drücken Sie die Änderungen
Trotzdem haben Sie eine schnelle Wahl,
push
um die--force
Option zwangsweise zu verwenden , sollten jedoch vermieden werden, da dies zu einem Verlust von Änderungen führen oder andere Mitwirkende stark beeinträchtigen kann.quelle