Skip to main content

Verwalten von Pull Requests für Abhängigkeitsupdates

Du verwaltest von Dependabot ausgelöste Pull Requests im wesentlichen wie andere Pull Requests, aber es gibt einige zusätzliche Optionen.

Wer kann dieses Feature verwenden?

Benutzer*innen mit Schreibzugriff

Note

Dein Websiteadministrator muss Dependabot updates für Ihre GitHub Enterprise Server-Instance einrichten, damit du dieses Feature verwenden kannst. Weitere Informationen findest du unter Aktivieren von Dependabot für dein Unternehmen.

Möglicherweise kannst du Dependabot updates nicht aktivieren oder deaktivieren, wenn ein Unternehmensbesitzer eine Richtlinie auf Unternehmensebene festgelegt hat. Weitere Informationen findest du unter Erzwingen von Richtlinien für die Codesicherheit und -analyse für Unternehmen.

Informationen zu Dependabot-Pull Requests

Dependabot löst Pull Requests zum Aktualisieren von Abhängigkeiten aus. Je nachdem, wie Dein Repository konfiguriert ist, kann Dependabot Pull Requests für Versionsupdates und/oder für Sicherheitsupdates auslösen. Du verwaltest diese Pull Requests auf dieselbe Weise wie alle anderen Pull Requests, aber es sind auch einige zusätzliche Befehle verfügbar. Weitere Informationen zum Aktivieren von Updates für Dependabot-Abhängigkeiten findest du unter Konfigurieren von Dependabot-Sicherheitsupdates und Konfigurieren von Versionsupdates von Dependabot.

Wenn Dependabot einen Pull Request auslöst, wirst du von deiner für das Repository ausgewählten Methode benachrichtigt. Jeder Pull Request enthält detaillierte Informationen zu der vorgeschlagenen Änderung, die vom Paket-Manager abgeleitet werden. Diese Pull Requests folgen den normalen Prüfungen und Tests, die in deinem Repository definiert sind.

Wenn du viele Abhängigkeiten verwalten musst, solltest du möglicherweise die Konfiguration für jeden Paket-Manager anpassen, sodass Pull Requests bestimmte Prüfer, Zuweisungen und Bezeichnungen haben. Du kannst darüber hinaus Abhängigkeiten in Gruppen zusammenfassen, sodass mehrere Abhängigkeiten in einem einzigen Pull Request aktualisiert werden. Weitere Informationen findest du unter Automatische Aktualisierung deiner Abhängigkeiten mit Versionsupdates von Dependabot und Konfigurieren von Dependabot-Sicherheitsupdates.

Note

Wenn du 90 Tage lang nicht mit den Pull Requests von Dependabot für ein Repository interagierst, stuft Dependabot dein Repository als inaktiv ein und hält Dependabot updates automatisch an. Weitere Informationen zu Inaktivitätskriterien findest du unter Informationen zu Updates von Dependabot-Versionen und Informationen zu Dependabot-Sicherheitsupdates.

Anzeigen von Dependabot-Pull Requests

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

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

  3. Alle Pull Requests für Sicherheits- oder Versionsupdates sind einfach zu identifizieren.

    • Der Autor ist dependabot, das von Dependabot verwendete Bot-Konto.
    • Standardmäßig haben sie die Bezeichnung dependencies.

Ändern der Rebase-Strategie für Dependabot-Pull Requests

Standardmäßig führt Dependabot automatisch Rebases für Pull Requests aus, um Konflikte zu lösen. Wenn ein Pull Request seit 30 Tagen nicht zusammengeführt wurde, beendet Dependabot die Rebase-Ausführung für den Pull Request. Die Rebase-Ausführung für den Pull Request und dessen Zusammenführung kann weiterhin manuell erfolgen. Wenn Sie Mergekonflikte lieber manuell behandeln möchten, können Sie dies mithilfe der rebase-strategy-Option deaktivieren. Ausführliche Informationen findest du unter Dependabot options reference.

Ermöglichen, dass Dependabot ein Rebase ausführt und einen Push über zusätzliche Commits erzwingt

Standardmäßig beendet Dependabot ein Rebase eines Pull Requests, sobald zusätzliche Commits daran gesendet wurden. Um Dependabot zu erlauben, einen Push über Commits zu erzwingen, die seinen Branches hinzugefügt wurden, füge eine der folgenden Zeichenfolgen ein: [dependabot skip], [skip dependabot], [dependabot-skip], oder [skip-dependabot], entweder in Klein- oder Großbuchstaben in die Commitnachricht ein.

Verwalten von Dependabot-Pull Requests mit Kommentarbefehlen

Dependabot reagiert auf einfache Befehle in Kommentaren. Jeder Pull Request enthält Details der Befehle, die du verwenden könntest, um den Pull Request zu verarbeiten (z. B. Mergen, Squashen, erneutes Öffnen, Schließen des Pull Requests oder Ausführen eines Rebase für den Pull Request) unter dem Abschnitt „Dependabot-Befehle und -Optionen“. Du sollst diese automatisch generierten Pull Requests so einfach wie möglich selektieren können.

Jeden der folgenden Befehle kannst du in einem Dependabot-Pull Request verwenden.

  • @dependabot cancel merge bricht einen zuvor angeforderten Merge ab.
  • @dependabot close schließt den Pull Request und verhindert, dass Dependabot diesen Pull Request erneut erstellt. Du kannst das gleiche Ergebnis erreichen, indem du den Pull Request manuell schließt.
  • @dependabot ignore this dependency schließt den Pull Request und verhindert, dass Dependabot weitere Pull Requests für diese Abhängigkeit erstellt (es sei denn, du öffnest den Pull Request erneut oder aktualisierst selbst auf die vorgeschlagene Version der Abhängigkeit).
  • @dependabot ignore this major version schließt den Pull Request und verhindert, dass Dependabot weitere Pull Requests für diese Hauptversion erstellt (es sei denn, du öffnest den Pull Request erneut oder aktualisierst selbst auf diese Hauptversion).
  • @dependabot ignore this minor version schließt den Pull Request und verhindert, dass Dependabot weitere Pull Requests für diese Hauptversion erstellt (es sei denn, du öffnest den Pull Request erneut oder aktualisierst selbst auf diese Nebenversion).
  • @dependabot ignore this patch version schließt den Pull Request und verhindert, dass Dependabot weitere Pull Requests für diese Patch-Version erstellt (es sei denn, du öffnest den Pull Request erneut oder aktualisierst selbst auf diese Patch-Version).
  • @dependabot merge mergt den Pull Request, sobald deine CI-Tests bestanden sind.
  • @dependabot rebase führt ein Rebase für den Pull Request aus.
  • @dependabot recreate erstellt den Pull Request neu und überschreibt dabei alle Änderungen, die an dem Pull Request vorgenommen wurden.
  • @dependabot reopen öffnet den Pull Request erneut, wenn der Pull Request geschlossen ist.
  • @dependabot show DEPENDENCY_NAME ignore conditions ruft Informationen zu den Ignorierbedingungen für die angegebene Abhängigkeit ab und kommentiert den Pull Request anhand einer Tabelle, in der alle Ignorierbedingungen für die Abhängigkeit angezeigt werden. @dependabot show express ignore conditions sucht beispielsweise alle ignore-Bedingungen, die für die Express-Abhängigkeit gespeichert sind, und kommentiert den Pull Request mit diesen Informationen.
  • @dependabot squash and merge squasht und mergt den Pull Request, sobald deine CI-Tests bestanden sind.

Dependabot reagiert mit einem „Daumen nach oben“-Emoji, um den Befehl zu bestätigen, und kann mit einem Kommentar auf den Pull Request antworten. Während Dependabot in der Regel schnell reagiert, können einige Befehle mehrere Minuten dauern, wenn Dependabot andere Updates oder Befehle verarbeitet.

Wenn du einen der Befehle zum Ignorieren von Abhängigkeiten oder Versionen ausführst, speichert Dependabot die Einstellungen für das Repository zentral. Dies ist zwar eine schnelle Lösung, aber für Repositorys mit mehr als einem Mitwirkenden ist es besser, die zu ignorierenden Abhängigkeiten und Versionen explizit in der Konfigurationsdatei zu definieren. So können alle Mitwirkenden leicht erkennen, warum eine bestimmte Abhängigkeit nicht automatisch aktualisiert wird.

Weitere Informationen finden Sie unter Dependabot options reference.

Verwalten von Dependabot Pull Requests für gruppierte Updates mit Kommentarbefehlen

In Dependabot Pull Requests für gruppierte Versionsupdates und Sicherheitsupdates können Sie du anhand von Kommentarbefehlen Updates für bestimmte Abhängigkeiten und Versionen ignorieren bzw. Ignorierungen aufheben. Mit den folgenden Befehlen können Sie die Ignorierbedingungen für gruppierte Updates verwalten.

  • @dependabot ignore DEPENDENCY_NAME schließt den Pull Request und verhindert, dass Dependabot diese Abhängigkeit aktualisiert.
  • @dependabot ignore DEPENDENCY_NAME major version schließt den Pull Request und verhindert, dass Dependabot die Hauptversion dieser Abhängigkeit aktualisiert.
  • @dependabot ignore DEPENDENCY_NAME minor version schließt den Pull Request und verhindert, dass Dependabot die Nebenversion dieser Abhängigkeit aktualisiert.
  • @dependabot ignore DEPENDENCY_NAME patch version schließt den Pull Request und verhindert, dass Dependabot die Patch-Version dieser Abhängigkeit aktualisiert.
  • @dependabot unignore * schließt den aktuellen Pull Request, löscht alle ignore-Bedingungen, die für alle Abhängigkeiten in der Gruppe gespeichert sind, und öffnet dann einen neuen Pull Request.
  • @dependabot unignore DEPENDENCY_NAME schließt den aktuellen Pull Request, löscht alle für die Abhängigkeit gespeicherten ignore-Bedingungen und öffnet dann einen neuen Pull Request, der verfügbare Updates für die angegebene Abhängigkeit enthält. Beispielsweise würde @dependabot unignore lodash einen neuen Pull Request öffnen, der Updates für die Lodash-Abhängigkeit enthält.
  • @dependabot unignore DEPENDENCY_NAME IGNORE_CONDITION schließt den aktuellen Pull Request, löscht die gespeicherte ignore-Bedingung und öffnet dann einen neuen Pull Request, der verfügbare Updates für die angegebene Ignorierbedingung enthält. Beispielsweise würde @dependabot unignore express [< 1.9, > 1.8.0] einen neuen Pull Request öffnen, der Updates für Express zwischen den Versionen 1.8.0 und 1.9.0 enthält.

Tip

Wenn du eine bestimmte Ignorierbedingung aufheben möchtest, verwende den @dependabot show DEPENDENCY_NAME ignore conditions-Befehl, um die aktuellen Ignorierbedingungen einer Abhängigkeit schnell zu überprüfen.