Wie bearbeitet man Konflikte mit TortoiseGit?

Melden
  1. Erkennen von Konflikten in TortoiseGit
  2. Die Konfliktbearbeitung starten
  3. Konflikte im Merge-Tool lösen
  4. Abschließen des Merge-Prozesses
  5. Fazit

Bei der Arbeit mit Git kann es immer wieder zu sogenannten Merge-Konflikten kommen. Diese treten auf, wenn zwei unterschiedliche Änderungen an derselben Stelle in einer Datei von verschiedenen Zweigen oder Benutzern vorgenommen werden und Git nicht automatisch entscheiden kann, welche Änderung übernommen werden soll. TortoiseGit bietet eine grafische Oberfläche, die bei der Identifikation und Lösung solcher Konflikte hilfreich ist. In diesem Artikel erläutern wir ausführlich, wie man mit TortoiseGit Konflikte erkennt und bearbeitet.

Erkennen von Konflikten in TortoiseGit

Wenn man mit TortoiseGit einen Merge-Vorgang oder einen Rebase durchführt und Git auf einen Konflikt stößt, wird der Prozess in der Regel abgebrochen und eine Meldung angezeigt, die auf den Konflikt hinweist. TortoiseGit markiert in der Arbeitskopie die Dateien mit Konflikten als konfligierend. In der Statusanzeige erscheinen diese Dateien mit einem speziellen Symbol, das sie von unberührten oder geänderten Dateien unterscheidet. So kann man schnell erkennen, welche Dateien man bearbeiten muss, um den Konflikt zu lösen.

Die Konfliktbearbeitung starten

Um die Konflikte zu bearbeiten, klickt man im Windows Explorer mit der rechten Maustaste auf eine betroffene Datei und wählt im Kontextmenü den Punkt Edit Conflicts oder Konflikte bearbeiten. Dadurch öffnet TortoiseGit das integrierte Merge-Tool oder ein extern konfiguriertes Vergleichs- und Bearbeitungstool. Das Merge-Tool zeigt in der Regel drei Eingabebereiche an: die eigene Version (Local), die gegnerische Version (Remote) und die Basisversion, von der beide Veränderungen ausgegangen sind.

Konflikte im Merge-Tool lösen

Im Merge-Tool sieht man die unterschiedlichen Änderungsvarianten nebeneinander oder untereinander. Ziel ist es, die beste Version der Datei zu erzeugen, indem man entweder die eigene oder die fremde Veränderung übernimmt, oder beide kombiniert. Diese Bearbeitung erfolgt meist durch Auswahl, Kopieren und Löschen der betreffenden Codeabschnitte. Das Merge-Tool hebt dabei die Stellen hervor, an denen Konflikte bestehen, damit sie nicht übersehen werden. Nach dem Beheben aller Konflikte speichert man die Datei ab und schließt das Tool.

Abschließen des Merge-Prozesses

Nachdem alle Konflikte bearbeitet und gespeichert wurden, muss man Git mitteilen, dass die Konflikte gelöst sind. Dies geschieht, indem man die Dateien als resolved markiert. In TortoiseGit kann man dies über das Kontextmenü mit Mark as resolved erledigen. Anschließend kann man den Merge oder Rebase-Vorgang fortsetzen oder abschließen. Sollte man versehentlich falsche Änderungen übernommen haben, lässt sich der Prozess jederzeit abbrechen oder zurücksetzen.

Fazit

Die Bearbeitung von Konflikten ist ein unvermeidlicher Teil der Arbeit mit Git, insbesondere in Teams. TortoiseGit erleichtert diesen Prozess durch eine benutzerfreundliche Oberfläche und integrierte Werkzeuge zur Visualisierung und Bearbeitung der Konflikte. Indem man die Konflikte sorgfältig löst und die Änderungen anschließend als erledigt meldet, stellt man sicher, dass der Quellcode konsistent und konfliktfrei bleibt.

0

Kommentare