Sobes.tech
Junior

Wie lösen Sie Konflikte in Git?

sobes.tech KI

Antwort von AI

Bei einem Pull oder Rebase kommt es zu einer Zusammenführung von Änderungen. Wenn Git die konfliktierenden Zeilen in den Dateien nicht automatisch auflösen kann, markiert es sie mit speziellen Markierungen:

<<<<<<< HEAD
Zeile aus dem aktuellen Branch
=======
Zeile aus dem zusammenzuführenden Branch
>>>>>>> feature/neues-Feature

Um den Konflikt zu lösen:

  1. Öffne die konfliktierende Datei in einem Editor.

  2. Bearbeite die Datei manuell, indem du die benötigten Teile aus beiden Versionen auswählst oder eine neue Kombination erstellst.

  3. Entferne die Markierungen <<<<<<<, =======, >>>>>>>.

  4. Speichere die Datei.

  5. Füge die gelöste Datei mit git add zum Index hinzu:

    # Eine bestimmte Datei hinzufügen
    git add pfad/zur/auflösten/datei.txt
    
    # Alle gelösten Dateien hinzufügen
    git add .
    
  6. Mache einen Commit, um die Zusammenführung abzuschließen:

    # Bei Merge
    git commit -m "Merge-Konflikt gelöst"
    
    # Bei Rebase
    git rebase --continue
    

Wenn es viele Konflikte gibt oder sie komplex sind, kannst du Merge-Tools verwenden:

git mergetool

Dies öffnet ein grafisches Tool, das Schritt für Schritt durch die Konflikte führt.

Bei Schwierigkeiten während des rebase kannst du folgende Befehle verwenden:

  • git rebase --abort: Rebase abbrechen und zum vorherigen Zustand zurückkehren.
  • git rebase --skip: Den aktuellen Konflikt-Commit überspringen (kann riskant sein).

Es ist wichtig, die Änderungen nach der Konfliktlösung zu testen, um sicherzustellen, dass der Code korrekt funktioniert.