Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2026-04-09. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Удаление и восстановление пакета

Сведения о том, как удалить или восстановить пакет.

Поддержка удаления и восстановления пакетов в GitHub

При наличии необходимых прав доступа в GitHub вы можете удалять следующие объекты:

  • Весь частный пакет
  • Весь общедоступный пакет, если не более 5000 скачиваний любой версии пакета
  • Определенная версия частного пакета
  • Определенная версия общедоступного пакета, если версия пакета не превышает 5000 скачиваемых файлов.

Примечание.

  • Нельзя удалить общедоступный пакет, если какая-либо версия этого пакета скачивалась более 5000 раз. В этом сценарии обратитесь к нам через Портал поддержки GitHub, чтобы получить дополнительную помощь.
  • При удалении общедоступных пакетов следует помнить, что вы можете прервать работу проектов, зависящих от этого пакета.

В GitHubможно также восстановить весь пакет или какую-либо его версию, если:

  • восстановление пакета выполняется в течение 30 дней после его удаления;
  • пространство имен пакета по-прежнему доступно и не используется для нового пакета.

Поддержка API пакетов

Примечание.

GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Управление личными маркерами доступа.

Для управления пакетами можно использовать REST API. Дополнительные сведения см. в разделе AUTOTITLE.

Примечание.

Возможность удаления и восстановления пакетов с помощью REST API GitHub Actions в настоящее время находится в beta и подлежит изменению.

С помощью реестров, поддерживающих детализированные разрешения, можно использовать GITHUB_TOKEN рабочий процесс GitHub Actions для удаления или восстановления пакетов с помощью REST API. Маркер должен иметь admin разрешение на пакет. Если рабочий процесс публикует пакет, admin роль по умолчанию предоставляется репозиторию, в котором хранится рабочий процесс. Для существующих пакетов, не опубликованных рабочим процессом, необходимо предоставить репозиторию admin роль, чтобы использовать рабочий процесс GitHub Actions для удаления или восстановления пакетов с помощью REST API. Дополнительные сведения см. в разделе Настройка управления доступом и видимости пакета.

Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета.

С реестрами, поддерживающими детализированные разрешения, нельзя использовать API GraphQL GitHub Packages GraphQL. Реестры, поддерживающие только разрешения в области репозитория, и которые могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для пакетов GitHub.

Необходимые разрешения для удаления или восстановления пакета

С помощью реестров, поддерживающих детализированные разрешения, вы можете разрешить доступ к пакетам для пользователей или организации или связаться с репозиторием.

Чтобы удалить пакет с подробными разрешениями, разделенными от репозитория, например образы контейнеров, хранящиеся в https://containers.HOSTNAME/NAMESPACE/PACKAGE-NAME``https://ghcr.io/NAMESPACE/PACKAGE-NAME (где NAMESPACE имя личная учетная запись или организации, к которой применяется пакет), необходимо иметь доступ администратора к пакету. Дополнительные сведения см. в разделе Сведения о разрешениях для пакетов GitHub.

Пакеты, наследующие права доступа от репозиториев, можно удалять, если у вас есть разрешения администратора для репозитория.

Некоторые реестры поддерживают только пакеты с областью действия репозитория. Список этих реестров см. в разделе Сведения о разрешениях для пакетов GitHub.

Удаление версии пакета

Удаление версии пакета с областью репозитория в GitHub

Чтобы удалить версию пакета с областью репозитория, необходимо иметь разрешения администратора на репозиторий, в котором публикуется пакет. Дополнительные сведения см. в разделе Требуемые разрешения.

  1. На GitHubперейдите на главную страницу репозитория.

  2. В правой боковой панели репозитория щелкните " Пакеты".

    Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" описывается оранжевым цветом.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. Перейдите к тому, где можно управлять версиями для вашего типа пакета.

    • Если пакет является контейнером, в разделе "Последние версии" нажмите кнопку "Просмотреть и управлять всеми версиями".
      Снимок экрана: раздел "Последние версии" пакета. В нижней области ссылка "Просмотр и управление всеми версиями" выделена оранжевым контуром.
    • Для типов пакетов, отличных от контейнеров:
      1. В правой части щелкните Параметры пакета.
        Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.
      2. Слева щелкните " Управление версиями".
        Снимок экрана: меню "Управление версиями" пакета. В правом нижнем углу выделено "Управление версиями" с оранжевым контуром.
  5. В списке пакетов найдите версию пакета, которую требуется удалить.

    • Если пакет является контейнером, справа от версии пакета щелкните , а затем выберите "Удалить версию из раскрывающегося меню".
      Снимок экрана: кнопка кебаба версии пакета, развернутая для отображения меню. Ссылка "Удалить версию" в меню описана оранжевым цветом.
    • Для типов пакетов, отличных от контейнеров, справа от версии пакета нажмите кнопку "Удалить".
      Снимок экрана: версия пакета с кнопкой "Удалить". Кнопка выделена оранжевым контуром.
  6. Чтобы подтвердить удаление, введите имя пакета и выберите Я понимаю последствия, удалить эту версию.

Удаление версии пакета с областью репозитория с помощью GraphQL

Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета.

С реестрами, поддерживающими детализированные разрешения, нельзя использовать API GraphQL GitHub Packages GraphQL. Реестры, поддерживающие только разрешения в области репозитория, и которые могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для пакетов GitHub. Дополнительные сведения об использовании REST API см . в разделе AUTOTITLE.

Использование изменения deletePackageVersion в API GraphQL. Необходимо использовать personal access token (classic) с read:packages``delete:packagesобластями и repo областями. Дополнительные сведения о personal access tokens (classic)см. в разделе Введение в GitHub Packages.

В следующем примере показано, как удалить версию пакета с помощью packageVersionId``MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg.

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

Чтобы найти все частные пакеты, опубликованные в GitHub Packages, а также идентификаторы версий для этих пакетов, можно использовать подключение packages через объект repository. Вам потребуется personal access token (classic) с read:packages областями и repo областями. Дополнительные сведения см. в описании подключения packages или интерфейса PackageOwner.

Дополнительные сведения о мутации deletePackageVersion см. в разделе Изменения.

Невозможно напрямую удалить весь пакет с помощью GraphQL, но если удалить каждую версию пакета, пакет больше не будет отображаться на GitHub.

Удаление всего пакета

Удаление всего пакета с областью репозитория в GitHub

Чтобы удалить весь пакет с областью репозитория, необходимо иметь разрешения администратора для репозитория, которому принадлежит пакет. Дополнительные сведения см. в разделе Требуемые разрешения.

  1. На GitHubперейдите на главную страницу репозитория.

  2. В правой боковой панели репозитория щелкните " Пакеты".

    Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" описывается оранжевым цветом.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  5. В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".

  6. Чтобы подтвердить, просмотрите сообщение с подтверждением, введите имя пакета и щелкните "Я понимаю", удалите этот пакет.

Удаление всего пакета с областью пользователя в GitHub

Сведения о том, кто может удалить пакет, см. в разделе "Необходимые разрешения".

  1. В GitHub перейдите на главную страницу личной учетной записи.

  2. В правом верхнем углу GitHubщелкните рисунок профиля, а затем щелкните профиль.

    Снимок экрана: раскрывающееся меню в @octocatразделе "Изображение профиля". "Ваш профиль" очертается в темно-оранжевый цвет.

  3. На странице профиля в заголовке щелкните вкладку "Пакеты" Packages .

  4. Найдите и выберите имя пакета, который требуется управлять.

  5. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  6. В левой части экрана нажмите кнопку " Параметры".

    Снимок экрана: меню "Параметры" пакета. В правом нижнем углу выделено "Параметры" с оранжевым контуром.

  7. В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".

  8. В поле подтверждения введите имя пакета, чтобы подтвердить его удаление.

  9. Щелкните "Я понимаю последствия", удалите этот пакет.

Удаление всего пакета с областью организации в GitHub

Сведения о том, кто может удалить пакет, см. в разделе "Необходимые разрешения".

  1. В GitHub перейдите на главную страницу вашей организации.

  2. Под именем организации щелкните вкладку "Пакет" aria-hidden="true" aria-label="package" %} "Package ".

    @octo-orgСнимок экрана: страница профиля. Вкладка "Пакеты" выделена оранжевым контуром.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  5. В левой части экрана нажмите кнопку " Параметры".

    Снимок экрана: меню "Параметры" пакета. В правом нижнем углу выделено "Параметры" с оранжевым контуром.

  6. В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".

  7. В поле подтверждения введите имя пакета, чтобы подтвердить его удаление.

  8. Щелкните "Я понимаю последствия", удалите этот пакет.

Восстановление пакетов

Удаленный пакет или версию пакета можно восстановить, если:

  • восстановление пакета выполняется в течение 30 дней после его удаления;
  • пространство имен пакета и версии по-прежнему доступно и не используется для нового пакета.

Например, если вы являетесь пользователем octocatи у вас есть удаленный пакет RubyGems с именем, который my-package был ограничен репозиторием octocat/my-repo, вы можете восстановить пакет только в том случае, если пространство rubygem.pkg.github.com/octocat/my-repo/my-package имен пакета по-прежнему доступно, и 30 дней еще не прошли.

Чтобы удалить пакет, необходимо также иметь разрешения администратора в репозитории, в котором публикуется пакет.

Дополнительные сведения см. в разделе Требуемые разрешения.

После восстановления пакета он будет использовать то же пространство имен, что и раньше. Если то же самое пространство имен пакета недоступно, вы не сможете восстановить пакет. В таком случае для восстановления удаленного пакета сначала необходимо удалить новый пакет, использующий пространство имен удаленного пакета.

Восстановление пакета в организации

Вы можете восстановить удаленный пакет с помощью параметров учетной записи организации, если пакет был в репозитории, принадлежащем организации, или имел подробные разрешения и был ограничен вашей учетной записью организации.

Сведения о том, кто может восстановить пакет в организации, см. в разделе "Необходимые разрешения".

  1. На GitHubперейдите на главную страницу организации.

  2. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  3. В левой части окна щелкните Пакеты.

  4. В разделе "Удаленные пакеты" нажмите кнопку Восстановить рядом с пакетом, который требуется восстановить.

  5. Чтобы подтвердить, введите имя пакета и выберите Я понимаю последствия, восстановить этот пакет.

Восстановление пакета с областью учетной записи пользователя

Вы можете восстановить удаленный пакет с помощью параметров вашей личной учетной записи, если пакет был в одном из ваших репозиториев или был ограничен областью вашей личной учетной записи. Дополнительные сведения см. в разделе Требуемые разрешения.

  1. В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля, а затем выберите октикона "шестеренка" aria-hidden="true" aria-label="gear" %} Settings.
  2. На боковой панели слева нажмите Пакеты.
  3. В разделе "Удаленные пакеты" нажмите кнопку Восстановить рядом с пакетом, который требуется восстановить.
  4. Чтобы подтвердить, введите имя пакета и выберите Я понимаю последствия, восстановить этот пакет.

Восстановление версии пакета

Версию пакета можно восстановить на целевой странице пакета. Сведения о том, кто может восстановить пакет, см. в разделе "Необходимые разрешения".

  1. Перейдите на целевую страницу пакета.

  2. Найдите и выберите имя пакета, который требуется управлять.

  3. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  4. Перейдите к тому, где можно управлять версиями для вашего типа пакета.

    • Если пакет является контейнером, в разделе "Последние версии" нажмите кнопку "Просмотреть и управлять всеми версиями".
      Снимок экрана: раздел "Последние версии" пакета. В нижней области ссылка "Просмотр и управление всеми версиями" выделена оранжевым контуром.
    • Для типов пакетов, отличных от контейнеров:
      1. В правой части щелкните Параметры пакета.
        Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.
      2. Слева щелкните " Управление версиями".
        Снимок экрана: меню "Управление версиями" пакета. В правом нижнем углу выделено "Управление версиями" с оранжевым контуром.
  5. В правом верхнем углу списка версий пакетов используйте раскрывающийся список " Выбор версий" и выберите "Удалить".

    Снимок экрана: список версий пакета. Выбор "Удалено" в представлении версий выделен оранжевым контуром.

  6. Рядом с удаленной версией пакета, которую требуется восстановить, нажмите кнопку Восстановить.

  7. Чтобы подтвердить, щелкните "Я понимаю последствия", восстановите эту версию.