Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

Mergekonflikt auf GitHub beheben

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

Auf GitHub Enterprise Server 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 Mergekonflikt in der Befehlszeile beheben.

Wenn ein Websiteadministrator den Editor für Mergekonflikte für Pull Requests zwischen Repositorys deaktiviert, kannst du den Konflikt-Editor nicht für GitHub Enterprise Server 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 Enterprise Server 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.

    Screenshot der Hauptseite eines Repositorys. In der horizontalen Navigationsleiste ist eine Registerkarte mit der Bezeichnung „Pull Requests“ dunkelorange umrandet.

  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.

    Screenshot: Warnung mit dem Hinweis, dass für einen Pull Request ein Mergekonflikt vorliegt. Die Schaltfläche „Mergekonflikte lösen“ist dunkelorange umrandet.

    Hinweis: Wenn die Schaltfläche Konflikte auflösen deaktiviert ist, ist der Mergekonflikt deines Pull Requests für eine Behebung auf GitHub Enterprise Server zu komplex, oder der Websiteadministrator bzw. die Websiteadministratorin 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 Mergekonflikt in der Befehlszeile beheben.

  4. 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.

  5. 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.

  6. Wenn du alle Konflikte in der Datei aufgelöst hast, klicke auf Als behoben markieren.

    Screenshot: Editor zum Auflösen eines Mergekonflikts in einem Pull Request. Die Schaltfläche „Als behoben markieren“ ist dunkelorange umrandet.

  7. 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.

  8. Sobald du alle Mergekonflikte gelöst hast, klickst du auf Merge committen. Dadurch wird der gesamte Basis-Branch in Deinen Head-Branch zusammengeführt.

    Screenshot: Editor zum Auflösen eines Mergekonflikts in einem Pull Request. Die Schaltfläche „Merge committen“ ist dunkelorange umrandet.

  9. 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.

    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 auf Verstanden, Aktualisierung von fortsetzen. Der Text der Schaltfläche entspricht der Aktion, die Du durchführst.

  10. Um deinen Pull Request zu mergen, klicke auf Pull Request mergen. Weitere Informationen zu anderen Optionen zum Mergen von Pull Requests findest du unter Einen Pull Request zusammenführen.

Weiterführende Themen