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
Hinweis:
- 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.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.
-
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.
- Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.
-
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 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.
-
Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.
-
Klicke in der oberen rechten Ecke von GitHub auf dein Profilfoto und dann auf Dein Profil.
-
Wähle auf der Profilseite in der Kopfzeile die Registerkarte Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.
-
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.
- Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du die ausgewählte Version davon löschen möchtest.
-
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.
-
Navigiere auf GitHub zur Hauptseite deiner Organisation.
-
Wähle unter dem Namen deiner Organisation die Registerkarte Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.
-
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.
- Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du die ausgewählte Version davon löschen möchtest.
-
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.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.
-
Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.
-
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.
-
Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.
-
Klicke in der oberen rechten Ecke von GitHub auf dein Profilfoto und dann auf Dein Profil.
-
Wähle auf der Profilseite in der Kopfzeile die Registerkarte Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.
-
Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du es löschen möchtest.
-
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.
-
Navigiere auf GitHub zur Hauptseite deiner Organisation.
-
Wähle unter dem Namen deiner Organisation die Registerkarte Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.
-
Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du es löschen möchtest.
-
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.
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke auf der linken Seite auf Pakete.
-
Klicke unter „Gelöschte Pakete“ neben dem Paket, das du wiederherstellen möchtest, auf Wiederherstellen.
-
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.
- Klicken Sie auf einer beliebigen Seite auf GitHub oben rechts auf Ihr Profilfoto und dann auf Einstellungen.
- Klicke auf der linken Randleiste auf Pakete.
- Klicke unter „Gelöschte Pakete“ neben dem Paket, das du wiederherstellen möchtest, auf Wiederherstellen.
- 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.
-
Navigiere zur Startseite deines Pakets.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle auf der Angebotsseite deines Pakets auf der rechten Seite die Option Paketeinstellungen aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.
-
Wähle in der rechten oberen Ecke der Liste der Paketversionen im Dropdownmenü Versionsansicht auswählen die Option Gelöscht aus.
-
Klicke neben der gelöschten Paketversion, die du wiederherstellen möchtest, auf Wiederherstellen.
-
Wähle zum Bestätigen Ich verstehe die Folgen, diese Version wiederherstellen aus.