Skip to main content

Mergekonflikt auf GitHub beheben

Einfache Mergekonflikte auf GitHub, bei denen Zeilenänderungen in Konflikt stehen, kannst du mit dem Konflikteditor beheben.

Auf GitHub AE kannst du nur Mergekonflikte beheben, die durch konkurrierende Zeilenänderungen verursacht werden, beispielsweise, wenn mehrere Personen unterschiedliche Änderungen an der gleichen Zeile in der gleichen Datei in verschiedenen Branches deines Git-Repositorys vornehmen. Alle anderen Mergekonflikte musst Du lokal in der Befehlszeile beheben. Weitere Informationen findest du unter Auflösen eines Mergekonflikts mithilfe der Befehlszeile.

Wenn ein Websiteadministrator den Editor für Mergekonflikte für Pull Requests zwischen Repositorys deaktiviert, kannst du den Konflikt-Editor nicht für GitHub AE verwenden und musst Mergekonflikte über die Befehlszeile beseitigen. Beispielsweise kannst du den Mergekonflikt-Editor, wenn er deaktiviert ist, nicht für Pull Requests zwischen einem Fork und einem vorgelagerten Repository verwenden.

Warnung: Wenn du einen Mergekonflikt für GitHub AE auflöst, wird der gesamte Basisbranch deines Pull Requests in den Headbranch gemergt. Vergewissere Dich, dass Du wirklich diesen Branch freigeben willst. Wenn der Headbranch der Standardbranch deines Repositorys ist, hast du die Möglichkeit, einen neuen Branch zu erstellen, der als Headbranch für deinen Pull Request dient. Wenn der Head-Branch geschützt ist, kannst Du Deine Konflikt-Auflösung nicht zusammenführen, deshalb wirst Du aufgefordert werden, einen neuen Head-Branch zu erstellen. Weitere Informationen findest du unter Informationen zu geschützten Branches.

  1. Klicke unter dem Namen deines Repositorys auf Pull Requests. Auswählen der Registerkarte für Pull Requests

  2. Klicke in der Liste der Pull Requests auf den Pull Request mit dem Mergekonflikt, den Du beheben möchtest.

  3. Klicke im unteren Bereich deines Pull Requests auf Konflikte auflösen. Schaltfläche „Mergekonflikte lösen“

    Tipp: Wenn die Schaltfläche Konflikte auflösen deaktiviert ist, ist der Mergekonflikt deines Pull Requests für eine Behebung auf GitHub AE zu komplex, oder der Websiteadministrator hat den Konflikt-Editor für Pull Requests zwischen Repositorys deaktiviert. Du musst den Mergekonflikt mit einem alternativen Git-Client auflösen, oder durch Verwendung von Git auf der Befehlszeile. Weitere Informationen findest du unter Auflösen eines Mergekonflikts mithilfe der Befehlszeile.

    1. Entscheide, ob du nur die Änderungen deines Branch beibehalten, nur die Änderungen des anderen Branch beibehalten oder eine brandneue Änderung erstellen möchtest, die die Änderungen aus beiden Branches beinhalten kann. Lösche die Konfliktmarker `<<<<<<<`, `=======` und `>>>>>>>`, und nimm die gewünschten Änderungen im endgültigen Merge vor. ![Anzeigen eines Mergekonfliktbeispiels mit Konflikthinweisen](/assets/images/help/pull_requests/view-merge-conflict-with-markers.png)
  4. Wenn Deine Datei mehrere Mergekonflikte enthält, scrolle nach unten zum nächsten Konflikthinweis, und wiederhole dort die Schritte 4 und 5, um auch diesen Mergekonflikt zu beheben.

  5. Wenn du alle Konflikte in der Datei aufgelöst hast, klicke auf Als behoben markieren. Klicken auf die Schaltfläche „Als behoben markieren“

  6. Wenn mehrere Dateien Konflikte enthalten, wähle auf der linken Seite unter „Conflicting files“ (Dateien mit Konflikten) die nächste Datei aus, und wiederhole die Schritte 4 bis 7, bis Du alle Mergekonflikte Deines Pull Request behoben hast. Auswählen der nächsten Datei mit Konflikten, falls zutreffend

  7. Sobald du alle Mergekonflikte gelöst hast, klickst du auf Merge committen. Dadurch wird der gesamte Basis-Branch in Deinen Head-Branch zusammengeführt. Schaltfläche „Mergekonflikte lösen“

  8. Sofern Du eine entsprechende Aufforderung erhältst, überprüfe den Branch, in den der Commit erfolgt.

    Wenn der Head-Branch der Standardbranch Deines Repositorys ist, kannst Du wählen, entweder diesen Branch mit den Änderungen zu aktualisieren, die Du zur Auflösung des Konfliktes gemacht hast, oder einen neuen Branch zu erstellen und diesen als Head-Branch des Pull Requests zu verwenden. Aufforderung zum Überprüfen des Branches, der aktualisiert wird

    Wenn Du Dich für einen neuen Branch entscheidest, gib den Namen für den Branch ein.

    Wenn der Head-Branch Deines Pull-Requests geschützt ist, musst Du einen neuen Branch erstellen. Du hast keine Möglichkeit, den geschützten Branch zu aktualisieren.

    Klicke auf Branch erstellen und Pull Request aktualisieren oder Verstanden, Aktualisierung von BRANCH fortsetzen. Der Text der Schaltfläche entspricht der Aktion, die Du durchführst.

  9. Um deinen Pull Request zu mergen, klicke auf Pull Request mergen. Informationen zu weiteren Optionen zum Mergen von Pull Requests findest du unter Mergen eines Pull Requests.

Weiterführende Themen