Fehler „Schwerwiegend: Schnellvorlauf nicht möglich, Abbruch“

Lesezeit: 6 Minuten

Benutzeravatar von Jesse Leite
Jess Leite

Warum erlaubt mir Git nicht mehr, Merge vorzuspulen?

Wenn ich versuche, es zu erzwingen --ff-onlyich bekomme die Nachricht

fatal: Schnellvorlauf nicht möglich, Abbruch.

Mir ist klar, dass es enorme Vorteile hat merge --no-ffaber ich bin nur verwirrt, warum ich das nicht kann --ff-only Jetzt?

  • @Cyebukayire: Wenn Sie nicht oft synchronisieren (git pull), wird dies sogar bei GPT 6 ein Problem sein.

    – Sławomir Lenart

    1. August 2022 um 20:02 Uhr

  • ICH würde wie mehr Details, wie z. B. welcher Zweig und welche Dateien. Gib mir bitte eine Chance.

    – Jeff Silvermann

    10. August 2022 um 22:48 Uhr

Benutzeravatar von crypdick
Kryptodick

Haftungsausschluss: Diese Befehle bringen Änderungen aus dem entfernten Zweig in Ihren.

git pull --rebase. Anders als bei der anderen Lösung müssen Sie den Namen Ihres Zielzweigs nicht kennen.

Wenn Ihr Upstream-Zweig nicht festgelegt ist, versuchen Sie es git pull origin <branch> --rebase (Dank an @Rick in den Kommentaren)

Um diese Option global festzulegen, verwenden Sie git config --global pull.rebase true (Gutschrift an @Artur Mustafin unten)

  • Das funktionierte großartig für mich, außer dass ich kein Upstream-Set in meinem Zweig hatte, also musste ich es verwenden git pull origin <branch> --rebase und es schien zu funktionieren. Danke!

    – Rick

    4. Mai 2021 um 23:28 Uhr

  • Wenn Sie mittendrin Zusammenführungskonflikte bekommen, reparieren Sie Ihre Zusammenführungsdateien und führen Sie sie anschließend aus git rebase --continue.

    – Coreus

    6. September 2021 um 7:33 Uhr

  • Ich habe git push to remote vor dem Ziehen und bekam den Fehler und dieser Fix hat bei mir funktioniert. Danke!

    – Ansub

    29. August 2022 um 16:08 Uhr

  • Mein Commit steht im Konflikt mit meinem Kollegen und das funktioniert

    – dotrinh PM

    19. November 2022 um 7:10 Uhr

Benutzeravatar von Dheeraj kumar Rao
Dheeraj kumar Rao

Verwenden Sie die Option --no-ff So deaktivieren Sie den schnellen Vorlauf für einen Zug:

git pull --no-ff

https://git-scm.com/docs/git-pull#Documentation/git-pull.txt—no-ff

  • Dies ist die richtige Antwort für den Fall, dass Sie ausdrücklich versuchen, eine Rebase zu vermeiden.

    – randallreedjr

    30. November 2022 um 19:12 Uhr

  • Diese Antwort sollte oben stehen

    – Abdul Mateen Scheich

    2. Dezember 2022 um 6:21 Uhr

  • lasst uns das nach oben schieben

    – Sandeep Vattapparambil

    1. Februar um 14:18 Uhr

Ihr Branch basiert nicht mehr direkt auf dem Branch, mit dem Sie ihn zusammenführen möchten – zB wurde ein anderer Commit zum Ziel-Branch hinzugefügt, der sich nicht in Ihrem Branch befindet. Daher können Sie nicht schnell vorspulen (weil der schnelle Vorlauf erfordert, dass Ihr Zweig den Zielzweig vollständig enthält).

Sie können Ihren Zweig auf den Zielzweig umbasieren (git rebase <destination branch>), um die Commits so zu überarbeiten, dass sie schnell vorspulen, oder Sie können eine normale Zusammenführung durchführen.

  • Wie ist das möglich? Das ist nicht richtig. Es muss eine Einstellung sein, die sich geändert hat.

    – Mathehaken

    19. Oktober 2020 um 13:25 Uhr

  • @mathtick diese Nachricht kommt von Ihrer Pull-Konfiguration, auf die eingestellt ist ff aus dem Befehl git config pull.ff only

    – Al Duncanson

    17. November 2020 um 15:02 Uhr

  • “Der schnelle Vorlauf erfordert, dass Ihr Zweig den Zielzweig vollständig enthält” scheint rückwärts zu sein. Sollte “Schnellvorlauf erfordert, dass Ihr Zweig vollständig im Zielzweig enthalten ist”

    – huyz

    21. Februar 2021 um 7:39 Uhr

  • git config –global pull.rebase true

    – Alan Turing

    3. November 2021 um 16:44 Uhr

  • Führen Sie einfach Folgendes aus: git pull origin <branch> --rebase

    – Hekmat

    16. Dezember 2021 um 9:08 Uhr


Benutzeravatar von Aman Bhardwaj
Aman Bhardwaj

Wenn

git pull

funktioniert nicht und wenn Sie sowohl die aktuellen Änderungen als auch die Änderungen zusammenführen möchten, die aus dem Pull des Zweigs vom Ursprung stammen, tun Sie dies:

git merge origin/BRANCH_NAME

Lösen Sie danach die Zusammenführungskonflikte, falls vorhanden, und seien Sie für den Tag fertig.

Dies liegt daran, dass Sie die Option „Nur schneller Vorlauf“ aktiviert haben. Die Sache hier ist, dass Ihr Pull aus dem Zweig einen Merge-Commit in Ihrem lokalen Git erstellt und die Option „Nur schneller Vorlauf“ es nicht erlaubt, zum Zeitpunkt des Pulls einen Merge-Commit zu erstellen.

Im Falle eines großen Teams werden Sie die meiste Zeit und für jeden einzelnen Commit, der aus dem Pull kommt, rebasen und Konflikte lösen.

Ich schlage vor, Sie entfernen die Zeile ff = only aus der lokalen Git-Konfigurationsdatei.

$ cd zu-meinem-projekt-root-dir

$ nano .git/config

[pull]
        ff = only // remove this line
        rebase = false

  • Es könnte nur passieren, wenn ff = only aktiviert ist, aber das ist nicht die Ursache. Wenn der Fehler auftritt, ist dies ein Zeichen dafür, dass etwas nicht dem Standard entsprechendes passiert ist. Siehe stackoverflow.com/a/28973624/1335793 für eine gute Möglichkeit, festzustellen, was passiert ist. Zum Beispiel hatte ich diesen Fehler beim Versuch, vom Master zu ziehen, und was ich tatsächlich getan hatte, war, etwas lokal auf dem Master festzuschreiben, das in der Fernbedienung nicht vorhanden war. In einem Team sollten wir uns niemals zum Meister verpflichten oder zum Meister drängen; Wenn ich ff deaktiviert hätte, hätte es mir meinen Fehler nicht gezeigt.

    – Davos

    10. Mai 2021 um 7:16 Uhr


  • Nach allen Recherchen hat Ihre Antwort ziemlich gut funktioniert. In der Datei .git/configentfernen ff = onlyund hinzufügen rebase = false.

    – Klaus

    16. Dezember 2022 um 17:23 Uhr


Versuche dies. Es wird gut funktionieren.

git pull origin --rebase 

Nachdem Sie den Non-Fast-Forward-Fehler erhalten haben, tun Sie einfach Folgendes:

git pull --rebase origin <name-of-the-remote-branch>

Dadurch werden die Remote-Änderungen in Ihren lokalen Zweig abgerufen. Darüber hinaus werden Ihre lokalen Commits angewendet.

Dann

git push origin <name-of-the-remote-branch>

Dadurch werden Ihre lokalen Änderungen in der lokalen Kopie des Remote-Zweigs auf das tatsächliche Remote-Zweig-Repository in Git angewendet

  • Es könnte nur passieren, wenn ff = only aktiviert ist, aber das ist nicht die Ursache. Wenn der Fehler auftritt, ist dies ein Zeichen dafür, dass etwas nicht dem Standard entsprechendes passiert ist. Siehe stackoverflow.com/a/28973624/1335793 für eine gute Möglichkeit, festzustellen, was passiert ist. Zum Beispiel hatte ich diesen Fehler beim Versuch, vom Master zu ziehen, und was ich tatsächlich getan hatte, war, etwas lokal auf dem Master festzuschreiben, das in der Fernbedienung nicht vorhanden war. In einem Team sollten wir uns niemals zum Meister verpflichten oder zum Meister drängen; Wenn ich ff deaktiviert hätte, hätte es mir meinen Fehler nicht gezeigt.

    – Davos

    10. Mai 2021 um 7:16 Uhr


  • Nach allen Recherchen hat Ihre Antwort ziemlich gut funktioniert. In der Datei .git/configentfernen ff = onlyund hinzufügen rebase = false.

    – Klaus

    16. Dezember 2022 um 17:23 Uhr


Wenn Sie dies bekommen, wenn Sie a git pull origin master in Ihrer örtlichen Filiale öffnen .gitconfig in Notepad (normalerweise versteckt in C:\Users\Myname) und fügen Sie diese beiden Zeilen hinzu

[pull]
    ff = no

Speichern Sie die Konfiguration und versuchen Sie es git pull origin master nochmal

  • git pull origin master --ff/--no-ff/--ff-only sind die jeweiligen einmal Optionen.

    – kontur

    8. Oktober 2021 um 8:12 Uhr

  • Um es auf MacOs zu lösen, können Sie die bearbeiten config Datei an .git/config.

    – Klaus

    9. Januar um 13:43 Uhr


1447930cookie-checkFehler „Schwerwiegend: Schnellvorlauf nicht möglich, Abbruch“

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

Privacy policy