Schwerwiegend: Fehler beim Zusammenführen nicht verwandter Historien in Git

John Wachira 20 Juni 2023
  1. Häufige Szenarien des Fehlers fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen in Git
  2. Beheben Sie den Fehler fatal: Weigerung, nicht zusammenhängende Historien zusammenzuführen in Git
Schwerwiegend: Fehler beim Zusammenführen nicht verwandter Historien 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.

  1. 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.

  2. Ihr .git-Verzeichnis ist beschädigt.

  3. 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 Wachira avatar John Wachira avatar

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.

LinkedIn

Verwandter Artikel - Git Error