Nicht zusammengeführte Git-Dateien

Abdul Jabbar 20 Juni 2023
Nicht zusammengeführte Git-Dateien

Bei der Arbeit mit Git in einer Teamumgebung an einem komplexen Projekt gibt es viele Möglichkeiten, dass einige allgemeine Probleme jederzeit auftreten. Unter ihnen sind Fusionen und Konflikte gemeinsame Bestandteile dieser Themen.

Das Lösen von Konflikten in anderen Versionskontrollsystemen ist sehr hektisch, weil es kostspielig und zeitaufwändig ist. Während es in Git super einfach ist, mit diesen Situationen umzugehen.

Meistens löst Git automatisch, wie neue Änderungen zusammengeführt werden, und macht es Entwicklern sehr einfach, diese Aufgaben innerhalb kürzester Zeit zu erledigen.

Fehler beim Git-Merging

Der Fehler tritt normalerweise auf, wenn sich Dateien mit ungelösten Konflikten im Arbeitsverzeichnis befinden. Konflikte treten auf, wenn Entwickler innerhalb der Teamstruktur an einem großen Projekt arbeiten und einige Entwickler an derselben Datei arbeiten und Änderungen auf widersprüchliche Weise vorgenommen werden.

Wenn zwei Personen dieselbe Datei bearbeiten, kann Git dies höchstwahrscheinlich selbst herausfinden. Aber manchmal kann Git das nicht, weil manchmal dieselben Änderungen an derselben Datei von zwei verschiedenen Entwicklern vorgenommen werden.

Und in dieser Situation hat Git keine Ahnung, was zu tun ist. Hier müssen wir die Situation selbst bewältigen, indem wir die Datei in Notepad oder einem beliebigen Visual Studio Code-Tool öffnen, um die widersprüchlichen Zeilen in der Codedatei manuell zusammenzuführen.

git status.

Zuerst werden wir den Befehl git status verwenden, um zu erfahren, wo der Merge-Konflikt liegt. Hier erkennt Git die Stellen, die auf widersprüchliche Weise bearbeitet wurden, indem es die Kategorie der nicht zusammengeführten Pfade wie folgt besonders erwähnt:

$ git status
# On branch contact-form
# You have unmerged paths.
#   (fix conflicts and run "git commit")
#
# Unmerged paths:
#   (use "git add <file>..." to mark resolution)
#
#       both modified:   contact.html
#

Konflikte gelöst

Da der Konflikt jetzt erkannt wird, ändern wir diese konfliktbehaftete gewünschte Datei in ihre richtige Form. Dies kann in zwei verschiedenen Techniken erreicht werden.

  1. Bei dieser Methode öffnen wir die Konfliktdatei im Editor wie in Notepad oder einem beliebigen Visual Studio Code-Tool, suchen die Konfliktmarkierungen und nehmen einige Änderungen gemäß unseren Anforderungen vor. Durch diese Änderung sieht die Datei so aus, wie wir sie haben möchten.
  2. Bei der anderen Methode können wir Git bitten, die gewünschte Aufgabe mit Hilfe von bearbeiteten Versionen zu erledigen, die wie folgt als unsere oder ihre bekannt sind:
git checkout --ours path/to/conflict-file.css

Nachdem wir den Konflikt erfolgreich gelöst haben, müssen wir noch zwei weitere Schritte für das Endergebnis durchführen.

  1. Führen Sie git add <filepath> durch und markieren Sie jede Datei mit Konflikten als gelöst.
  2. Beenden Sie den Vorgang mit dem Befehl git commit, um die Auflösung zu bestätigen, so wie wir jede andere Änderung mit diesem Befehl ausführen möchten.
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Merge