Skip to main content

Mergekonflikte nach einem „git rebase“ lösen

Mit einem git rebase-Vorgang verschiebst du in der Regel Commits. Aufgrund dessen können Mergekonflikte entstehen. Das bedeutet, dass zwei deiner Commits dieselbe Zeile in derselben Datei geändert haben und Git nicht weiß, welche Änderung übernommen werden soll.

Wenn durch die Neuanordnung und Bearbeitung der Commits durch git rebase ein Mergekonflikt entsteht, gibt Git die folgende Meldung im Terminal aus:

error: could not apply fa39187... something to add to patch A

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
Could not apply fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file

Git teilt Dir hier also mit, welcher Commit den Konflikt verursacht (fa39187). Außerdem werden drei Lösungsmöglichkeiten angeboten:

  • Du kannst git rebase --abort ausführen, um das Rebase vollständig rückgängig zu machen. Git wird Ihren Branch in den Zustand zurückversetzen, in dem er vor dem Aufruf von git rebase war.
  • Du kannst git rebase --skip ausführen, um den Commit vollständig zu überspringen. Keine der Änderungen, die durch den problematischen Commit eingeführt wurden, wird übernommen. Für diese Option wirst du Dich vermutlich nur selten entscheiden.
  • Du kannst den Konflikt beheben.

Um den Konflikt zu beheben, kannst du die Standardprozeduren zum Beheben von Mergekonflikten über die Befehlszeile befolgen. Wenn du fertig bist, musst du git rebase --continue aufrufen, damit Git das Rebase fortsetzt.