Fatal: Schnellvorlauf nicht möglich, Abbruch

Lesezeit: 3 Minuten

Benutzer-Avatar
Jess Leite

Warum erlaubt mir Git nicht mehr, Merge vorzuspulen? Wenn ich versuche, es zu erzwingen --ff-only, erhalte ich die Meldung “fatal: Fast-forward 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?

Benutzer-Avatar
Kryptodick

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. Vielen Dank!

    – Rick

    4. Mai 2021 um 23:28 Uhr

  • Tritt diese Bedingung auf, wenn man einen früheren Commit ändert?

    – FP frei

    28. Juli 2021 um 21:11 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

  • git config –global pull.rebase true

    – Arthur Mustafin

    3. November 2021 um 16:44 Uhr

  • hat heute bei mir geklappt 😉

    – BZKN

    7. April um 12:31 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

  • @huyz nein; Sie haben hier umgekehrt, was “Ihr” bedeutet.

    – Bernstein

    21. Februar 2021 um 20:09 Uhr

  • git config –global pull.rebase true

    – Arthur Mustafin

    3. November 2021 um 16:44 Uhr

git pull --no-ff -> Schnellvorlauf deaktivieren durch –no-ff

  • 2022 und das hat bei mir funktioniert.

    – ruevaughn

    14. Januar um 14:19 Uhr

  • Es hat gut funktioniert!

    – V_J

    17. Februar um 14:02 Uhr

  • Es wird von git selbst vorgeschlagen.

    – Dheeraj kumar Rao

    21. Februar um 7:14 Uhr

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

  • Die Zusammenführungsoption ist genau das, wonach ich gesucht habe, ich denke, das ist sauberer

    – ExpectoPatrom

    14. Januar um 23:07 Uhr

Benutzer-Avatar
SushiGuy

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 wieder

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

    – kontur

    8. Oktober 2021 um 8:12 Uhr

Benutzer-Avatar
Fès Nguyen

Wenn Sie ein Commit haben, versuchen Sie es rückgängig zu machen und erneut zu ziehen!

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

    – kontur

    8. Oktober 2021 um 8:12 Uhr

1011820cookie-checkFatal: Schnellvorlauf nicht möglich, Abbruch

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

Privacy policy