„Pull ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben“-Fehler in Git

Pull Ist Nicht Moglich Weil Sie Nicht Zusammengefuhrte Dateien Haben Fehler In Git



Es besteht kein Zweifel, dass Git das Spitzenmodell der Versionskontrollsysteme ist. Wenn Sie jedoch damit arbeiten und mit Git beginnen, insbesondere in einem kollaborativen Git-Projekt, werden Sie auf verschiedene Vorfälle wie Zusammenführungsfehler, widersprüchliche Änderungen usw. stoßen.

Einer der häufigsten Fehler bei der Arbeit an einem kollaborativen Git-Projekt ist „Git Pull nicht möglich, Sie haben nicht zusammengeführte Dateien“.

In diesem Tutorial erfahren wir, was dieser Fehler ist, warum er auftritt und wie wir ihn beheben können.







Was ist dieser Fehler?

Der Fehler „Git Pull ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben“ tritt auf, wenn im lokalen Git-Repository ungelöste Konflikte vorliegen. Das bedeutet, dass Git keinen „Pull“-Vorgang durchführen kann, bis wir die widersprüchlichen Änderungen behoben haben.



Nehmen wir an, Sie verfügen über ein öffentliches Repository, das Sie beisteuern möchten. Sie klonen das Repository auf Ihren lokalen Computer. Als Nächstes besuchen Sie die Seite „Probleme“ und wählen ein Problem aus, das Sie beheben möchten, oder eine Funktion, die Sie hinzufügen möchten.



Nehmen wir an, ein anderer Entwickler am anderen Ende der Welt versucht, dasselbe Problem zu beheben, das Sie beheben, oder versucht, dieselbe Funktion wie Sie hinzuzufügen. Allerdings schiebt dieser Entwickler die Änderungen vor Ihnen voran.





Wenn Sie versuchen, die neueste Änderung aus dem Repo abzurufen, kann Git nicht bestimmen, ob Ihre Änderungen oder die neuesten aus dem Repo überschrieben werden sollen. Hier schlägt der Pull-Vorgang mit dem Fehler „Nicht zusammengeführte Dateien“ fehl.

So lösen Sie es

Es gibt verschiedene Möglichkeiten, diesen Fehler zu beheben. Einige sind destruktiv und entfernen alle von Ihnen vorgenommenen Änderungen vollständig und ersetzen sie durch die neue Repo-Version, während bei anderen die in Konflikt stehenden Dateien repariert werden.



Lösung 1: Identifizieren Sie die widersprüchlichen Dateien

Der erste Schritt vor dem Versuch, ein Problem zu beheben, besteht darin, herauszufinden, welche Dateien den Konflikt verursachen.

Sie können dies tun, indem Sie den Befehl „git status“ ausführen:

$ Git-Status

Git listet die Dateien mit Konflikten im Abschnitt „Nicht zusammengeführte Pfade“ auf.

Schritt: Manuell beheben

Anschließend können Sie die widersprüchlichen Dateien mit einem Texteditor oder einem geeigneten Zusammenführungstool wie Diff Merge öffnen, um die Konflikte zu vergleichen und manuell zu beheben.

Sie sehen die Konfliktmarkierungen in der Datei wie folgt <<<<<<< , ======= , Und >>>>>>> die auf die widersprüchlichen Abschnitte hinweisen.

Sie könnten beispielsweise einen Konflikt haben, der so aussieht:

<<<<<<< KOPF

Das sind meine Änderungen In der aktuelle Zweig

=======

Eine widersprüchliche Veränderung In der eingehende Zweig.

>>>>>>> eingehender Zweig

Von hier aus können Sie wählen, ob die Änderungen (HEAD-Abschnitt), die eingehenden Änderungen (Incoming-Branch-Abschnitt) oder eine geänderte Version, die beides kombiniert, beibehalten werden sollen.

Wenn Sie fertig sind, fügen Sie die neuen, nicht widersprüchlichen Änderungen hinzu, schreiben Sie sie fest und übertragen Sie sie per Push an das Remote-Repository.

Lösung 2: Empfohlen

Der nächste Schritt ist in einer Vielzahl von Fällen sehr geeignet und bietet einen sanfteren und eleganteren Ansatz zur Lösung der widersprüchlichen Probleme.

Dies umfasst drei Hauptschritte:

Schritt 1: Vergessen Sie Ihre Änderungen

Der erste Schritt besteht darin, Ihre Änderungen aus dem Weg zu räumen. Dies ergibt ein sauberes Repo seit Ihrem letzten Commit. Das Gute ist, dass Ihre Änderungen nicht verschwinden. Stattdessen legt Git sie beiseite und ermöglicht Ihnen, sie später bei Bedarf abzurufen.

Sie können dies tun, indem Sie den Befehl „git stash“ ausführen:

$ Git Stash

Der Befehl ermöglicht es uns, die Änderungen vorübergehend im aktuellen Verzeichnis zu speichern, ohne sie tatsächlich zu übernehmen.

Schritt 2: Rufen Sie die neuesten Änderungen ab

Sobald wir unsere Änderungen verworfen haben, können wir fortfahren und die neuesten Änderungen aus dem Repo abrufen. Führen Sie den folgenden „git pull“-Befehl aus:

$ Git Pull

Schritt 3: Stash anwenden

Schließlich können wir die gespeicherten Änderungen mit „git stash apply“ oder „git stash pop“ wieder auf das Arbeitsverzeichnis anwenden.

$ Git Stash anwenden

Der Befehl „git stash apply“ wendet den Stash an, behält ihn aber in der Stash-Liste.

$ Git Stash Pop

Der Befehl „git stash pop“ wendet den Stash an und entfernt ihn aus der Liste.

Lösung 3: Lassen Sie Git sich darum kümmern

Git ist mächtiger als wir denken können. Anstatt diesen ganzen Aufwand manuell zu erledigen, können wir Git die widersprüchlichen Änderungen einfach mit dem folgenden Befehl erledigen lassen:

$ Git Pull --autostash

Mit diesem Befehl können wir die lokalen Änderungen schützen und gleichzeitig den Zweig mit den Remote-Änderungen auf dem neuesten Stand halten.

Abschluss

In diesem Tutorial wird der Fehler „Git Pull ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben“ untersucht, wenn Sie einen „Git Pull“-Befehl ausführen. Wir haben untersucht, was es bedeutet, warum es auftritt und wie es behoben werden kann.