Schwerwiegend: Fehler beim Zusammenführen nicht verwandter Historien in Git
-
Häufige Szenarien des Fehlers
fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen
in Git -
Beheben Sie den Fehler
fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen
in Git
Dieser Artikel beschreibt die Schritte, die erforderlich sind, um den Fehler schwerwiegend: Weigerung, nicht zusammenhängende Historien zusammenzuführen
in Git zu beheben. Normalerweise stoßen wir auf einen solchen Fehler, wenn wir versuchen, zwei unabhängige Git-Projekte in einem Branch zusammenzuführen.
Es wird angezeigt, wenn der Empfängerzweig Commits hat und der Klon inkompatible Tags hat.
Häufige Szenarien des Fehlers fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen
in Git
Hier sind einige Fälle, in denen Sie wahrscheinlich auf den Fehler fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen
in Git stoßen werden.
-
Sie haben ein lokales Repository, das Commits enthält, und versuchen, Daten aus einem vorhandenen Remote-Repository abzurufen. Da die Historien unterschiedlich sind, weiß Git nicht, wie es weitergehen soll.
Daher die Fehlermeldung.
-
Ihr
.git
-Verzeichnis ist beschädigt. -
Wenn sich Ihre Zweige an verschiedenen
HEAD
-Positionen befinden.
Beheben Sie den Fehler fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen
in Git
Wir können den Fehler beheben, indem wir das Zusammenführen ohne Bezug zulassen. Wir können dies tun, indem wir das Flag --allow-unrelated-historys
zum Pull-Request hinzufügen, wie unten gezeigt.
$ git pull origin master --allow-unrelated-histories
Mit Git können Sie Zweige mit nicht verwandten Historien zusammenführen. Es ist ziemlich einfach, wenn Ihre Dateien nicht in Konflikt geraten.
Die obige Methode ist die einfachste; es gibt jedoch eine längere Route zum selben Ziel.
Zuerst müssen Sie alle Ihre aktuellen Commits aus der Staging-Umgebung entfernen und speichern. Sie können dann aus dem Remote-Repo ziehen und den Stash auf den neuen Klon anwenden.
Dies erleichtert den Umgang mit Zusammenführungskonflikten, falls sie auftreten.
Verwenden Sie den folgenden Befehl, um alle Dateien im letzten Commit aufzuheben.
$ git reset HEAD~
Führen Sie den folgenden Befehl aus, um die Dateien zu speichern.
$ git stash
Jetzt haben Sie einen sauberen Arbeitsbaum und können eine Pull-Anfrage ausführen, nach der Sie die gestashed Änderungen auf den Arbeitsbaum entstashen und anwenden. Du kannst rennen:
$ git stash pop
Der obige Befehl wendet den Stash an und verwirft ihn. Wenn Sie den Stash anwenden und behalten möchten, können Sie Folgendes ausführen:
$ git stash apply
Was ist der einfachste Weg, um diese Fehlermeldung zu vermeiden?
Vermeiden Sie es, entfernte Repositories in lokale Branches zu ziehen, die Commits enthalten. Erstellen Sie bei Bedarf einen neuen Zweig und ziehen Sie die Änderungen manuell herunter und führen Sie sie zusammen.
Zusammenfassend lässt sich sagen, dass der Fehler fatal: weigert sich, nicht zusammenhängende Historien zusammenzuführen
auftritt, wenn wir versuchen, Zweige mit unterschiedlichen Commit-Historien zusammenzuführen. Wir haben die beiden Möglichkeiten durchgegangen, den Fehler zu beheben und ihn am besten zu vermeiden.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedInVerwandter Artikel - Git Error
- Beheben Sie den Fehler `Berechtigung verweigert`(Publickey) in Git
- Behebung eines weiteren Git-Prozesses, der in diesem Repository-Fehler zu laufen scheint
- Bower: ENOGIT Git ist nicht installiert oder nicht im PATH
- Fatal: Das Remote-Ende hat unerwartet aufgelegt Fehler in Git
- Fix: Git wird nicht als interner oder externer Befehlsfehler erkannt
- Nicht zusammengeführte Pfade im Git-Status auflösen