Skip to main content

Löschen und Wiederherstellen eines Pakets

Hier erfährst du wie du ein Paket löschen oder wiederherstellen kannst.

Wer kann dieses Feature verwenden?

GitHub Packages ist verfügbar mit GitHub Free, GitHub Pro, GitHub Free für Organisationen, GitHub Team, GitHub Enterprise Cloud und GitHub Enterprise Server 3.0 oder höher.

Unterstützung für das Löschen und Wiederherstellen von Paketen unter GitHub

Wenn du über den erforderlichen Zugriff verfügst, kannst du unter GitHub Folgendes löschen:

  • ein gesamtes privates Paket
  • ein gesamtes öffentliches Paket, wenn eine Version des Pakets nicht mehr als 5.000 Downloads aufweist
  • eine bestimmte Version eines privaten Pakets
  • eine bestimmte Version eines öffentlichen Pakets, wenn die Paketversion nicht mehr als 5.000 Downloads aufweist

Note

  • Du kannst ein öffentliches Paket nicht löschen, wenn eine Version des Pakets mehr als 5.000 Downloads aufweist. Wenden Sie sich in diesem Szenario über das GitHub-Supportportal an uns, um Unterstützung zu erhalten.
  • Beachte beim Löschen öffentlicher Pakete, dass du möglicherweise Projekte unterbrichst, die von deinem Paket abhängen.

Unter GitHub kannst du auch ein gesamtes Paket oder eine gesamte Paketversion wiederherstellen, wenn Folgendes zutrifft:

  • Du stellst das Paket innerhalb von 30 Tagen nach dem Löschen wieder her.
  • Derselbe Paketnamespace ist weiterhin verfügbar und wird nicht für ein neues Paket verwendet.

Paket-API-Unterstützung

GitHub Packages unterstützt nur die Authentifizierung mit einem personal access token (classic). Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.

Du kannst die REST-API verwenden, um deine Pakete zu verwalten. Weitere Informationen findest du unter REST-API-Endpunkte für Pakete.

Hinweis: Die Möglichkeit für GitHub Actions-Workflows, Pakete mithilfe der REST-API zu löschen und wiederherzustellen, befindet sich derzeit in der public preview und kann noch geändert werden.

Mithilfe von Registrierungen, die detaillierte Berechtigungen unterstützen, können Sie ein GITHUB_TOKEN in einem GitHub Actions-Workflow verwenden, um Pakete mithilfe der REST-API zu löschen oder wiederherzustellen. Das Token muss über die admin-Berechtigung für das Paket verfügen. Wenn dein Workflow ein Paket veröffentlicht, wird die admin-Rolle standardmäßig dem Repository zugewiesen, in dem der Workflow gespeichert ist. Bei vorhandenen Paketen, die nicht von einem Workflow veröffentlicht werden, musst du dem Repository die admin-Rolle zuweisen, um einen GitHub Actions-Workflow zum Löschen oder Wiederherstellen von Paketen mithilfe der REST-API verwenden zu können. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

Für bestimmte Registrierungen kannst du GraphQL verwenden, um eine Version eines privaten Pakets zu löschen.

Du kannst die GitHub Packages-GraphQL-API nicht mit Registrierungen verwenden, die differenzierte Berechtigungen unterstützen. Informationen zu Registrierungen, die ausschließlich repositorybezogene Berechtigungen unterstützen und mit der GraphQL-API verwendet werden können, findest du unter Informationen zu Berechtigungen für GitHub-Pakete.

Erforderliche Berechtigungen zum Löschen oder Wiederherstellen eines Pakets

Bei Registrierungen, die differenzierte Berechtigungen unterstützen, kannst du festlegen, dass Pakete auf einen Benutzer oder eine Organisation ausgerichtet oder mit einem Repository verknüpft werden sollen.

Zum Löschen eines Pakets mit differenzierten Berechtigungen, die von einem Repository getrennt sind (beispielsweise unter https://ghcr.io/NAMESPACE/PACKAGE-NAME gespeicherte Containerimages oder unter https://npm.pkg.github.com/NAMESPACE/PACKAGE-NAME gespeicherte Pakete), wobei NAMESPACE der Name des persönlichen Kontos oder der Organisation ist, auf das bzw. die das Paket ausgerichtet ist, musst du über Administratorzugriff auf das Paket verfügen. Weitere Informationen findest du unter Informationen zu Berechtigungen für GitHub-Pakete.

Bei Paketen, die ihre Zugriffsberechtigungen von Repositorys erben, kannst du ein Paket löschen, wenn du über Administratorberechtigungen für das Repository verfügst.

Einige Registrierungen unterstützen nur repositorybezogene Pakete. Eine Liste dieser Registrierungen findest du unter Informationen zu Berechtigungen für GitHub-Pakete.

Löschen einer Paketversion

Löschen einer Version eines repositorybezogenen Pakets unter GitHub

Um eine Version eines Pakets mit Repositorygeltungsbereich zu löschen, müssen Sie über Administratorberechtigungen für das Repository verfügen, in dem das Paket veröffentlicht wird. Weitere Informationen findest du unter Erforderliche Berechtigungen.

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.

    Screenshot der Randleiste einer Repositoryseite. Der Abschnitt „Pakete“ ist orange umrandet.

  3. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  4. Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

    Screenshot des Abschnitts „Zuletzt verwendete Versionen“ eines Pakets. Darunter ist der Link „Alle Versionen anzeigen und verwalten“ orange umrandet.

  5. Suche in der Liste der Pakete die Version des Pakets, das du löschen möchtest.

    • Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Version löschen aus.
      Screenshot einer Paketversion mit einer Schaltfläche mit drei Punkten im Dropdownmenü. Der Link „Version löschen“ im Menü ist orange umrandet.
    • Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.
      Screenshot einer Paketversion mit der Schaltfläche „Löschen“. Die Schaltfläche ist orange umrandet.
  6. Gib zum Bestätigen der Löschung den Paketnamen ein, und klicke auf Ich verstehe die Folgen, diese Version löschen.

Löschen einer Version eines repositorybezogenen Pakets mit GraphQL

Für bestimmte Registrierungen kannst du GraphQL verwenden, um eine Version eines privaten Pakets zu löschen.

Du kannst die GitHub Packages-GraphQL-API nicht mit Registrierungen verwenden, die differenzierte Berechtigungen unterstützen. Informationen zu Registrierungen, die ausschließlich repositorybezogene Berechtigungen unterstützen und mit der GraphQL-API verwendet werden können, findest du unter Informationen zu Berechtigungen für GitHub-Pakete. Informationen zum alternativen Verwenden der REST-API findest du unter "REST-API-Endpunkte für Pakete."

Verwende die deletePackageVersion-Mutation in der GraphQL-API. Du musst ein personal access token (classic) mit den Bereichen read:packages, delete:packages und repo verwenden. Weitere Informationen zu personal access tokens (classic) findest du unter Einführung in GitHub-Pakete.

Im folgenden Beispiel wird veranschaulicht, wie eine Paketversion mithilfe einer packageVersionId von MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg gelöscht wird.

curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer TOKEN" \
-d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg==\"}) { success }}"}' \
HOSTNAME/graphql

Zum Finden aller privaten Pakete, die du unter GitHub Packages veröffentlicht hast, zusammen mit den Versions-IDs für die Pakete, kannst du die packages-Verbindung über das repository-Objekt verwenden. Du benötigst ein personal access token (classic) mit den Bereichen read:packages und repo. Weitere Informationen findest du in der packages-Verbindung oder der PackageOwner-Schnittstelle.

Weitere Informationen zur deletePackageVersion-Mutation findest du unter Mutationen.

Du kannst ein gesamtes Paket nicht direkt mithilfe von GraphQL löschen, aber wenn du jede Version eines Pakets löschst, wird das Paket nicht mehr auf GitHub Enterprise Cloud angezeigt.

Löschen einer Version eines benutzerbezogenen Pakets unter GitHub

Wenn du eine bestimmte Version eines benutzerbezogenen Pakets unter GitHub löschen möchtest, z. B. für ein Docker-Image unter ghcr.io, führe die folgenden Schritte aus. Informationen zum Löschen eines gesamten Pakets findest du unter Löschen eines gesamten benutzerbezogenen Pakets unter GitHub.

Informationen zum Überprüfen, wer eine Paketversion löschen kann, findest du unter Erforderliche Berechtigungen.

  1. Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.

  2. Klicke in der oberen rechten Ecke von GitHub auf dein Profilfoto und dann auf Dein Profil.

    Screenshot des Dropdownmenüs unter dem Profilbild von @octocat. „Dein Profil“ ist in dunklem Orange eingerahmt.

  3. Wähle auf der Profilseite in der Kopfzeile die Registerkarte Pakete aus.

  4. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  5. Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.

    Screenshot der Angebotsseite eines Pakets. In der rechten unteren Ecke ist „Paketeinstellungen“ orange umrandet.

  6. Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

    Screenshot des Abschnitts „Zuletzt verwendete Versionen“ eines Pakets. Darunter ist der Link „Alle Versionen anzeigen und verwalten“ orange umrandet.

  7. Suche in der Liste der Pakete die Version des Pakets, das du löschen möchtest.

    • Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Version löschen aus.
      Screenshot einer Paketversion mit einer Schaltfläche mit drei Punkten im Dropdownmenü. Der Link „Version löschen“ im Menü ist orange umrandet.
    • Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.
      Screenshot einer Paketversion mit der Schaltfläche „Löschen“. Die Schaltfläche ist orange umrandet.
  8. Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du die ausgewählte Version davon löschen möchtest.

  9. Wähle Ich verstehe die Folgen, diese Version löschen aus.

Löschen einer Version eines organisationsbezogenen Pakets unter GitHub

Wenn du eine bestimmte Version eines organisationsbezogenen Pakets unter GitHub löschen möchtest, z. B. für ein Docker-Image unter ghcr.io, führe die folgenden Schritte aus. Informationen zum Löschen eines gesamten Pakets findest du unter Löschen eines gesamten organisationsbezogenen Pakets unter GitHub.

Informationen zum Überprüfen, wer eine Paketversion löschen kann, findest du unter Erforderliche Berechtigungen zum Löschen oder Wiederherstellen eines Pakets.

  1. Navigiere auf GitHub zur Hauptseite deiner Organisation.

  2. Wähle unter dem Namen deiner Organisation die Registerkarte Pakete aus.

    Screenshot der Profilseite von @octo-org. Die Registerkarte „Pakete“ ist orange umrandet.

  3. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  4. Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.

    Screenshot der Angebotsseite eines Pakets. In der rechten unteren Ecke ist „Paketeinstellungen“ orange umrandet.

  5. Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

    Screenshot des Abschnitts „Zuletzt verwendete Versionen“ eines Pakets. Darunter ist der Link „Alle Versionen anzeigen und verwalten“ orange umrandet.

  6. Suche in der Liste der Pakete die Version des Pakets, das du löschen möchtest.

    • Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Version löschen aus.
      Screenshot einer Paketversion mit einer Schaltfläche mit drei Punkten im Dropdownmenü. Der Link „Version löschen“ im Menü ist orange umrandet.
    • Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.
      Screenshot einer Paketversion mit der Schaltfläche „Löschen“. Die Schaltfläche ist orange umrandet.
  7. Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du die ausgewählte Version davon löschen möchtest.

  8. Wähle Ich verstehe die Folgen, diese Version löschen aus.

Löschen eines gesamten Pakets

Löschen eines gesamten repositorybezogenen Pakets unter GitHub

Zum Löschen eines gesamten repositorybezogenen Pakets musst du Administratorberechtigungen für das Repository besitzen, das das Paket besitzt. Weitere Informationen findest du unter Erforderliche Berechtigungen.

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.

    Screenshot der Randleiste einer Repositoryseite. Der Abschnitt „Pakete“ ist orange umrandet.

  3. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  4. Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.

    Screenshot der Angebotsseite eines Pakets. In der rechten unteren Ecke ist „Paketeinstellungen“ orange umrandet.

  5. Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.

  6. Lies die Bestätigungsmeldung, gib den Paketnamen ein, und wähle Ich verstehe die Folgen, dieses Paket löschen aus.

Löschen eines gesamten benutzerbezogenen Pakets unter GitHub

Informationen zum Überprüfen, wer ein Paket löschen kann, findest du unter Erforderliche Berechtigungen.

  1. Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.

  2. Klicke in der oberen rechten Ecke von GitHub auf dein Profilfoto und dann auf Dein Profil.

    Screenshot des Dropdownmenüs unter dem Profilbild von @octocat. „Dein Profil“ ist in dunklem Orange eingerahmt.

  3. Wähle auf der Profilseite in der Kopfzeile die Registerkarte Pakete aus.

  4. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  5. Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.

    Screenshot der Angebotsseite eines Pakets. In der rechten unteren Ecke ist „Paketeinstellungen“ orange umrandet.

  6. Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.

  7. Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du es löschen möchtest.

  8. Wähle Ich verstehe die Folgen, dieses Paket löschen aus.

Löschen eines gesamten organisationsbezogenen Pakets unter GitHub

Informationen zum Überprüfen, wer ein Paket löschen kann, findest du unter Erforderliche Berechtigungen.

  1. Navigiere auf GitHub zur Hauptseite deiner Organisation.

  2. Wähle unter dem Namen deiner Organisation die Registerkarte Pakete aus.

    Screenshot der Profilseite von @octo-org. Die Registerkarte „Pakete“ ist orange umrandet.

  3. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  4. Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.

    Screenshot der Angebotsseite eines Pakets. In der rechten unteren Ecke ist „Paketeinstellungen“ orange umrandet.

  5. Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.

  6. Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du es löschen möchtest.

  7. Wähle Ich verstehe die Folgen, dieses Paket löschen aus.

Wiederherstellen von Paketen

Du kannst ein gelöschtes Paket oder eine Version wiederherstellen, wenn Folgendes zutrifft:

  • Du stellst das Paket innerhalb von 30 Tagen nach dem Löschen wieder her.
  • Derselbe Paketnamespace und die Version sind weiterhin verfügbar und werden nicht für ein neues Paket verwendet.

Wenn du beispielsweise der Benutzer octocat wärst und ein gelöschtes RubyGems-Paket namens my-package vorhanden wäre, das auf das Repository octocat/my-repo begrenzt war, kannst du das Paket nur wiederherstellen, wenn der Paketnamespace rubygem.pkg.github.com/octocat/my-repo/my-package noch verfügbar ist und noch nicht mehr als 30 Tage vergangen sind.

Zum Wiederherstellen eines gelöschten Pakets musst du auch eine der folgenden Berechtigungsanforderungen erfüllen:

  • Für repositorybezogene Pakete: Du verfügst über Administratorberechtigungen für das Repository, in dem das gelöschte Paket veröffentlicht wird.
  • Für benutzerkontobezogene Pakete: Das gelöschte Paket wird deinem persönlichen Konto zugeordnet.
  • Für organisationsbezogene Pakete: Du verfügst über Administratorberechtigungen für das gelöschte Paket in der Organisation, der das Paket zugeordnet wird.

Weitere Informationen findest du unter Erforderliche Berechtigungen.

Sobald das Paket wiederhergestellt wurde, verwendet das Paket denselben Namespace, den es zuvor verwendet hat. Wenn derselbe Paketnamespace nicht verfügbar ist, kannst du dein Paket nicht wiederherstellen. In diesem Szenario musst du zum Wiederherstellen des gelöschten Pakets zuerst das neue Paket löschen, das den Namespace des gelöschten Pakets verwendet.

Wiederherstellen eines Pakets in einer Organisation

Du kannst ein gelöschtes Paket über deine Organisationskontoeinstellungen wiederherstellen, solange sich das Paket in einem Repository befand, das der Organisation gehörte, oder über granulare Berechtigungen verfügte und sich auf dein Organisationskonto bezog.

Informationen zum Überprüfen, wer ein Paket in einer Organisation wiederherstellen kann, findest du unter Erforderliche Berechtigungen.

  1. Navigieren Sie auf GitHub zur Hauptseite der Organisation.

  2. Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke auf der linken Seite auf Pakete.

  4. Klicke unter „Gelöschte Pakete“ neben dem Paket, das du wiederherstellen möchtest, auf Wiederherstellen.

  5. Gib zum Bestätigen den Paketnamen ein, und klicke auf Ich verstehe die Folgen, dieses Paket wiederherstellen.

Wiederherstellen eines benutzerkontobezogenen Pakets

Du kannst ein gelöschtes Paket über die Einstellungen deines persönlichen Kontos wiederherstellen, wenn sich das Paket in einem deiner Repositorys befand oder auf dein persönliches Konto bezogen war. Weitere Informationen findest du unter Erforderliche Berechtigungen.

  1. Klicken Sie auf einer beliebigen Seite auf GitHub oben rechts auf Ihr Profilfoto und dann auf Einstellungen.
  2. Klicke auf der linken Randleiste auf Pakete.
  3. Klicke unter „Gelöschte Pakete“ neben dem Paket, das du wiederherstellen möchtest, auf Wiederherstellen.
  4. Gib zum Bestätigen den Paketnamen ein, und klicke auf Ich verstehe die Folgen, dieses Paket wiederherstellen.

Wiederherstellen einer Paketversion

Du kannst eine Paketversion von der Startseite deines Pakets wiederherstellen. Informationen zum Überprüfen, wer ein Paket wiederherstellen kann, findest du unter Erforderliche Berechtigungen.

  1. Navigiere zur Startseite deines Pakets.

  2. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  3. Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.

    Screenshot der Angebotsseite eines Pakets. In der rechten unteren Ecke ist „Paketeinstellungen“ orange umrandet.

  4. Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

    Screenshot des Abschnitts „Zuletzt verwendete Versionen“ eines Pakets. Darunter ist der Link „Alle Versionen anzeigen und verwalten“ orange umrandet.

  5. Wähle in der rechten oberen Ecke der Liste der Paketversionen im Dropdownmenü Versionsansicht auswählen die Option Gelöscht aus.

    Screenshot einer Liste mit Paketversionen. Die Auswahl „Gelöscht“ in der Versionsansicht ist orange umrandet.

  6. Klicke neben der gelöschten Paketversion, die du wiederherstellen möchtest, auf Wiederherstellen.

  7. Wähle zum Bestätigen Ich verstehe die Folgen, diese Version wiederherstellen aus.