Fehler „Schwerwiegend: Schnellvorlauf nicht möglich, Abbruch“
Lesezeit: 6 Minuten
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
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
Dheeraj kumar Rao
Verwenden Sie die Option --no-ff So deaktivieren Sie den schnellen Vorlauf für einen Zug:
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
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:
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
14479300cookie-checkFehler „Schwerwiegend: Schnellvorlauf nicht möglich, Abbruch“yes
@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