Artikelversion: Enterprise Server 2.17
Mergekonflikte nach einem „git rebase“ beheben
Mit einem „git rebase“ verschieben Sie in der Regel Commits. Dabei können Mergekonflikte entstehen, wenn durch zwei dieser Commits die gleiche Zeile in derselben Datei geändert wurde und Git nicht weiß, welche der Änderungen übernommen werden soll.
Wenn durch die Neuanordnung und Bearbeitung der Commits durch ein 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 Ihnen hier also mit, welches Commit den Konflikt verursacht (fa39187
). Außerdem werden drei Lösungsmöglichkeiten angeboten:
- Sie können
git rebase --abort
ausführen, um das Rebase vollständig rückgängig zu machen. Dadurch wird der Branch in den Zustand zurückversetzt, den er vor dem Aufruf vongit rebase
hatte. - Sie können
git rebase --skip
ausführen, um den Commit vollständig zu überspringen. In diesem Fall wird keine der Änderungen, die durch den Commit durchgeführt werden sollen, festgeschrieben. Für diese Option werden Sie sich vermutlich nur selten entscheiden. - Sie können den Konflikt beheben.
Zur Behebung des Konflikts folgen Sie den Standardverfahren zur Behebung von Mergekonflikten über die Befehlszeile. Nach der Behebung des Konflikts müssen Sie git rebase --continue
aufrufen, damit Git das Rebase fortsetzt.