Blogs

Startseite / Blogs / So lösen Sie Zusammenführungskonflikte in Git

Inhaltsverzeichnis
Die automatisierte, Kein Code Datenstapel

Erfahren Sie, wie Astera Data Stack kann die Datenverwaltung Ihres Unternehmens vereinfachen und rationalisieren.

So lösen Sie Merge-Konflikte in Git

26. Februar 2024

Die Möglichkeit, dass mehrere Teammitglieder zu einem Projekt beitragen und es rechtzeitig zum Abschluss bringen, ist für den Erfolg eines Produkts von unschätzbarem Wert, insbesondere wenn es regelmäßige Funktionsaktualisierungen und Verbesserungen auf der Grundlage von Kundenfeedback erhält. Teams erreichen diesen gleichzeitigen Beitrag leicht durch verteilte Versionskontrollsysteme (DVCS) wie z Git.

Die Tatsache, dass Git auf einem verteilten Quelle Das Modell bedeutet, dass der Quellcode und sein gesamter Versionsverlauf jedem Entwickler zur Verfügung stehen und es ihm ermöglicht, die Zeit zurückzudrehen und „zurückzudrehen“. Teammitglieder, die an demselben Projekt arbeiten, können in verschiedenen Zweigen arbeiten, die sie später zusammenführen.

Aber was passiert, wenn zwei Entwickler, die an derselben Datei arbeiten, Änderungen vornehmen, festschreiben und diese Änderungen pushen? Oder wenn diese Entwickler in verschiedenen Branches desselben Repositorys arbeiten und man sich entscheidet, die Branches zusammenzuführen? Die Antwort ist einfach: Beide Szenarien führen zu einem Zusammenführungskonflikt.

In diesem Blog werden wir lernen, wie man Merge löst Konflikte in Git von innen AsteraDatenplattform von. Aber lassen Sie uns vorher schnell durchgehen, was Konflikte sind und warum sie auftreten.

Was sind Zusammenführungskonflikte in Git?

Unter normalen Umständen, dh wenn sich Commits in zwei verschiedenen Codezeilen oder Zweigen befinden, löst Git die Unterschiede automatisch auf. Wenn sich die Unterschiede jedoch in denselben Codezeilen befinden, erfordert Git einen menschlichen Eingriff, um diese Unterschiede zu beheben. Dieser Fall, in dem es Unterschiede nicht selbst auflösen kann, wird als Zusammenführungskonflikt oder einfach als Konflikt bezeichnet.

Das folgende Bild veranschaulicht, wie ein Konflikt auftreten kann:

So lösen Sie Merge-Konflikte in Git

Konflikt zusammenführen

Nehmen wir an, es gibt zwei Entwickler, A und B, die im selben Zweig arbeiten. Beide Entwickler ziehen dieselbe Datei aus der Remote-Repository und Änderungen daran vornehmen. Entwickler B beendet seine Aufgabe früher und schiebt die Datei zurück auf den Server. So weit, ist es gut.

In ähnlicher Weise schließt Entwicklerin A ihren Job ab und fährt fort, ihn voranzutreiben. Sie steht jedoch vor einem Konflikt, als sie versucht, die Datei zu verschieben. Dieser Konflikt liegt daran, dass dieselbe Datei bereits im Remote-Repository durch eine aktualisierte Version von Entwickler B ersetzt wurde.

Dasselbe wäre passiert, wenn diese beiden Entwickler, die in verschiedenen Zweigen arbeiten, Änderungen an derselben Datei vorgenommen hätten und einer von ihnen versucht hätte, seinen Zweig mit dem Zweig des anderen Entwicklers zusammenzuführen. Ein weiterer Konflikt tritt auf, wenn einer der Entwickler eine Datei bearbeitet und der andere sie löscht.

Der Entwickler, der den Zusammenführungsvorgang durchführt, ist von dem Zusammenführungskonflikt betroffen; andere Teammitglieder bleiben unwissend, es sei denn, sie werden ausdrücklich darauf aufmerksam gemacht. Daher liegt es in der Verantwortung des Entwicklers, den Konflikt zu lösen und den Zusammenführungsprozess abzuschließen.

Wie löst man Merge-Konflikte in Git?

Die gebräuchlichste Methode zur Lösung eines Zusammenführungskonflikts besteht darin, die Datei zu öffnen und die erforderlichen Änderungen manuell vorzunehmen. Angenommen, es gibt eine Textdatei namens „conflict.txt“, die kürzlich geändert wurde und in das Remote-Repository verschoben werden muss. Die Datei kommt jedoch nicht durch, da ein Konflikt dazu führt, dass der Zusammenführungsprozess angehalten wird.

In diesem Fall müssen Sie die Git-Befehlszeilentools verwenden, um den Konflikt zu lösen. Sie werden dabei wahrscheinlich die folgenden Schritte durchlaufen:

  • Öffnen Sie die Datei in Ihrem bevorzugten Texteditor
  • Identifizieren Sie die Änderungen, die den Konflikt verursachen, und nehmen Sie die erforderlichen Änderungen vor
  • Verwenden Sie „git add conflict.txt“, um die Datei bereitzustellen
  • Verwenden Sie „git commit -m 'Ihre Commit-Nachricht hier'" begehen

Andere Git-Befehle, die beim Lösen von Merge-Konflikten helfen, sind:

  • Git zurücksetzen
  • Git Diff
  • Git drücken
  • git merge – abbrechen
  • git reset – gemischt
  • Git Checkout
  • Git Status
  • git rebase –fortfahren

Merge-Konflikte in Git von innen lösen Astera's Benutzeroberfläche

Astera's Git-Integration bietet eine native Versionskontrolllösung, mit der Sie alle Ihre verwalten können Datenmanagement Projekte problemlos. Mit Astera's-Implementierung von Git kann ein Konflikt auftreten, wenn zwei Zweige eine Datei mit demselben Namen haben und einer der Zweige mit dem anderen zusammengeführt wird.

Ebenso werden Sie mit einem Konflikt konfrontiert, wenn es Unterschiede in den Dateien gibt, die in Ihrem lokalen Repository und auf dem Remote-Server denselben Namen haben.

Nehmen wir ein Beispiel, um zu verstehen, wie Sie einem Konflikt begegnen können und was Sie tun müssen, um ihn zu lösen, während Sie Git über die verwenden Astera Datenplattform. Angenommen, wir haben zwei lokale Zweigstellen: Zweigstelle01 und Zweigstelle02.

So lösen Sie Zusammenführungskonflikte: Git Branches

Git Branches-Browser in Astera

Jeder Zweig hat unterschiedliche Datenpipelines, aber die Dateien, in denen sie gespeichert sind, enthalten denselben Namen, „GitDataflow01“. Siehe die Bilder unten:

Bild, das den Inhalt von Branch01 zusammen mit den darin enthaltenen Git-Befehlen zeigt Astera's Benutzeroberfläche

Git Branches – Datenfluss in Branch01 gespeichert in Datei „GitDataflow01“

Bild, das den Inhalt von Branch02 zusammen mit den darin enthaltenen Git-Befehlen zeigt Astera's Benutzeroberfläche

Git Branches – Datenfluss in Branch02 gespeichert in Datei „GitDataflow01“

Wenn wir versuchen, Branch01 mit dem aktuellen Branch (in diesem Fall Branch02) zusammenzuführen, erhalten wir aufgrund des Konflikts eine Fehlermeldung, und die Datei mit dem Konflikt wird unter einem neuen Knoten namens Conflicted im Git-Änderungsfenster angezeigt. Jetzt haben wir also einen Konflikt, und bevor wir fortfahren, müssen wir ihn lösen.

Mal sehen, wie wir das von innen heraus tun können Astera's Benutzeroberfläche. Denken Sie jedoch daran, dass wir an dieser Stelle drei Optionen haben:

  • Zusammenführungsvorgang abbrechen
  • Vorschau der Dateien in jedem Zweig, oder
  • Fahren Sie mit dem Auflösen ohne Vorschau fort (falls Sie sicher sind, welche Version Sie behalten möchten)

Um diesen Konflikt zu lösen, klicken Sie mit der rechten Maustaste auf die Datei, in diesem Fall GitDataflow01, und erweitern Sie die Datei Lösen Option zur Auswahl Aktuell halten (lokal) or Empfangen (Remote). Wie die Namen vermuten lassen, behält die Auswahl der ersteren Option nur die Dateiversion aus dem aktuellen Zweig (Branch02) bei, während die Auswahl der letzteren Option nur die Version aus dem Zweig behält, der zusammengeführt wird (Branch01).

So lösen Sie Merge-Konflikte in Git

Auflösen von Zusammenführungskonflikten in Git innerhalb Astera's Benutzeroberfläche

Als Nächstes werden wir uns verpflichten und eine Zusammenfassung bereitstellen, um den Zusammenführungsprozess abzuschließen.

AsteraDie Git-Integration von ermöglicht es Ihnen, die meisten Git-Operationen wie Push, Pull, Merge, Fetch, Commit usw. durchzuführen, ohne Code schreiben zu müssen. Sie haben auch die Möglichkeit, die Befehlszeilenschnittstelle zu verwenden, wenn Sie damit vertraut sind. Es hält nicht nur die Verwaltung der Versionskontrolle einfach, sondern beschleunigt auch den gesamten Prozess.

Mit der Astera's Git-Integration erhalten Sie das Beste aus beiden Welten, um Ihre Datenverwaltungsprojekte zu optimieren: Asteraist vereint, No-Code-Datenverwaltungsplattform und die superschnellen Versionskontrollfunktionen von Git. Jetzt, da Sie wissen, wie Sie Merge-Konflikte in Git lösen, machen Sie den nächsten Schritt und probieren Sie es selbst aus! Melden Sie sich für ein 14-Tage kostenlose Testversion or planen eine Demo

Sie können auch mögen
So erstellen Sie eine Data-Governance-Strategie für Ihr Unternehmen
Die Top 7 Datenaggregationstools im Jahr 2024
Data Governance Framework: Was ist das? Bedeutung, Säulen und Best Practices
In Anbetracht Astera Für Ihre Datenverwaltungsanforderungen?

Stellen Sie eine codefreie Konnektivität mit Ihren Unternehmensanwendungen, Datenbanken und Cloud-Anwendungen her, um alle Ihre Daten zu integrieren.

Lassen Sie uns jetzt eine Verbindung herstellen!
Lass uns verbinden