Usuwanie i przywracanie pakietu

Ukończone

Usuwanie i przywracanie pakietów w pakietach GitHub umożliwia zarządzanie cyklem życia pakietu, usuwaniem nieaktualnych wersji i odzyskiwaniem przypadkowo usuniętych pakietów. Zrozumienie reguł usuwania i procedur przywracania jest niezbędne do zarządzania pakietami.

Informacje o uprawnieniach usuwania

Jeśli masz wymagane uprawnienia dostępu, możesz usunąć pakiety z usługi GitHub:

Co można usunąć

Pakiety prywatne:

  • Cały pakiet prywatny: Usuń wszystkie wersje jednocześnie
  • Określona wersja: Selektywne usuwanie poszczególnych wersji

Pakiety publiczne (z ograniczeniami):

  • Cały pakiet publiczny: Tylko wtedy, gdy nie ma więcej niż 5000 pobrań dowolnej wersji
  • Określona wersja: Tylko wtedy, gdy ta wersja nie ma więcej niż 5000 pobrań

Wymagane uprawnienia

Pakiety o zakresie repozytorium:

  • Uprawnienia administratora: Musisz mieć dostęp administratora do repozytorium, które jest właścicielem pakietu
  • Uprawnienia dziedziczone: Uprawnienia pakietu są zgodne z kontrolą dostępu do repozytorium

Pakiety użytkownika lub organizacji (rejestr kontenerów):

  • Rola administratora pakietu: Bezpośredni dostęp administratora do pakietu
  • Właściciel organizacji: Pełny dostęp do wszystkich pakietów organizacji

Ważne

Limit pobierania 5000 pakietów publicznych to środek bezpieczeństwa, który zapobiega łamaniu powszechnie używanych pakietów. Gdy pakiet przekroczy ten próg, usunięcie jest wyłączone w celu ochrony użytkowników.

Wymagania dotyczące przywracania

Usunięte pakiety można przywrócić w określonych warunkach:

Warunki przywracania

  • 30-dniowe okno: Należy przywrócić pakiet w ciągu 30 dni od jego usunięcia
  • Dostępność przestrzeni nazw: Ta sama przestrzeń nazw pakietu musi być nadal dostępna i nie jest używana dla nowego pakietu
  • Zachowane uprawnienia: Nadal masz uprawnienia niezbędne do uzyskania dostępu do pakietu

Gdy przywracanie nie jest możliwe:

  • Od usunięcia minęło ponad 30 dni
  • Opublikowano nowy pakiet o tej samej nazwie
  • Nie masz już uprawnień dostępu do oryginalnego pakietu
  • Repozytorium lub organizacja została usunięta

Korzystanie z interfejsu API REST

Interfejs API REST usługi GitHub umożliwia programowe zarządzanie pakietami:

Możliwości interfejsu API:

  • Lista pakietów: Pobieranie wszystkich pakietów dla użytkownika lub organizacji
  • Pobierz szczegóły pakietu: Pobieranie metadanych dla określonego pakietu
  • Usuń wersję pakietu: Usuwanie określonej wersji
  • Usuń cały pakiet: Usuń wszystkie wersje
  • Przywróć wersję pakietu: Odzyskiwanie usuniętej wersji
  • Wyświetlanie listy wersji pakietów: Wyświetlanie wszystkich dostępnych wersji

Aby uzyskać więcej informacji, zobacz interfejs API pakietów GitHub.

Przykładowe użycie interfejsu API

Usuń wersję pakietu:

curl -X DELETE \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.github.com/user/packages/npm/PACKAGE_NAME/versions/VERSION_ID

Przywróć wersję pakietu:

curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.github.com/user/packages/npm/PACKAGE_NAME/versions/VERSION_ID/restore

Usuwanie wersji pakietu

Można usunąć poszczególne wersje pakietu, zachowując dostępne inne wersje. Jest to przydatne w przypadku usuwania uszkodzonych, wrażliwych lub nieaktualnych wersji.

Opcje zakresu usuwania

Wersje pakietów można usunąć w różnych zakresach:

  • Pakiet ograniczony do repozytorium na GitHub: Użyj interfejsu webowego dla pakietów powiązanych z repozytoriami
  • Pakiet ograniczony do repozytorium z GraphQL: Użyj interfejsu API do programatycznego usuwania
  • Pakiet w zakresie użytkownika w serwisie GitHub: Usuń z konta osobistego
  • Pakiet przypisany do organizacji w usłudze GitHub: Usunięcie z pakietów organizacji

Usuwanie za pośrednictwem interfejsu internetowego

Aby usunąć wersję pakietu związanego z zakresem repozytorium:

Krok 1. Przechodzenie do pakietu

  1. Na GitHub.com przejdź do strony głównej repozytorium
  2. Po prawej stronie listy plików kliknij pozycję Pakiety
  3. Wyszukaj i wybierz pakiet

Krok 2. Zarządzanie wersjami dostępu

  1. W prawym górnym rogu strony docelowej pakietu kliknij pozycję Ustawienia pakietu
  2. Na lewym pasku bocznym kliknij pozycję Zarządzaj wersjami

Krok 3. Usuwanie wersji

  1. Po prawej stronie wersji, którą chcesz usunąć, kliknij menu i wybierz pozycję Usuń wersję
  2. Aby potwierdzić usunięcie, wpisz nazwę pakietu i kliknij pozycję Rozumiem konsekwencje, usuń tę wersję

Ostrzeżenie

Usunięcie jest trwałe po 30-dniowym oknie przywracania. Przed potwierdzeniem upewnij się, że masz poprawną wersję.

Najlepsze rozwiązania dotyczące usuwania wersji

Przed usunięciem wersji:

  • Sprawdź zależności: Sprawdź, czy żadne aktywne projekty nie zależą od tej wersji
  • Powiadamianie użytkowników: Ogłaszanie wycofania przed usunięciem
  • Przyczyna dokumentu: Dodawanie komentarzy wyjaśniających, dlaczego wersja została usunięta
  • Zachowaj alternatywy: Upewnij się, że dostępna jest wersja zastępcza
  • Informacje o archiwum: Zapisz notatki o wydaniu i dokumentację na zewnętrznym nośniku

Usuwanie całego pakietu

Wszystkie wersje pakietu można usunąć jednocześnie. Spowoduje to całkowite usunięcie pakietu z pakietów GitHub.

Opcje zakresu usuwania

Całe pakiety można usunąć w różnych zakresach:

  • Pakiet o zakresie repozytorium w witrynie GitHub: Usuń pakiety z repozytorium
  • Pakiet użytkownika w usłudze GitHub: Usuń z konta osobistego
  • Pakiet przypisany do organizacji w usłudze GitHub: Usunięcie z pakietów organizacji

Usuwanie za pośrednictwem interfejsu internetowego

Aby usunąć pakiet powiązany z repozytorium:

Krok 1. Przechodzenie do pakietu

  1. Na GitHub.com przejdź do strony głównej repozytorium
  2. Po prawej stronie listy plików kliknij pozycję Pakiety
  3. Wyszukaj i wybierz pakiet

Krok 2. Uzyskiwanie dostępu do ustawień pakietu

  1. W prawym górnym rogu strony docelowej pakietu kliknij pozycję Ustawienia pakietu

Krok 3. Usuwanie pakietu

  1. Przewiń w dół do sekcji Danger Zone (Strefa zagrożenia )
  2. Kliknij pozycję Usuń ten pakiet
  3. Uważnie przejrzyj komunikat z potwierdzeniem
  4. Wprowadź nazwę pakietu , aby potwierdzić
  5. Kliknij pozycję Rozumiem, usuń ten pakiet

Ostrzeżenie

Usunięcie całego pakietu powoduje usunięcie wszystkich wersji i wszystkich metadanych. Ta akcja jest nieodwracalna po upływie 30 dni. Użytkownicy w zależności od tego pakietu będą doświadczać uszkodzonych kompilacji.

Kiedy usunąć całe pakiety

Odpowiednie scenariusze:

  • Porzucony projekt: Pakiet nie jest już utrzymywany ani potrzebny
  • Zastąpione przez alternatywę: Nowy pakiet zastępuje stary
  • Problem z zabezpieczeniami: Pakiet zawiera niefiksowalne luki w zabezpieczeniach
  • Wymaganie dotyczące zgodności: Przyczyny prawne lub regulacyjne
  • Nieprawidłowe repozytorium: Pakiet został opublikowany w nieprawidłowej lokalizacji

Alternatywy do usunięcia:

  • Powiadomienie o wycofaniu: Oznacz pakiet jako przestarzały bez usuwania
  • Archiwalne repozytorium: Zachowaj pakiet, ale oznacz koniec żywotności
  • Widoczność prywatna: Zmień na prywatny zamiast usuwać
  • Aktualizacja dokumentacji: Dodawanie ostrzeżeń dotyczących braku użycia pakietu

Przywracanie wersji pakietu

Usunięte pakiety można przywrócić w 30-dniowym oknie przywracania. Dzięki temu można odzyskać dane po przypadkowym usunięciu.

Procedura przywracania

Aby przywrócić usuniętą wersję pakietu:

Krok 1. Przechodzenie do pakietu

  1. Przejdź do strony docelowej pakietu
  2. Po prawej stronie kliknij pozycję Ustawienia pakietu

Krok 2. Znajdowanie usuniętych wersji

  1. Na lewym pasku bocznym kliknij pozycję Zarządzaj wersjami
  2. Użyj menu rozwijanego Wersje w prawym górnym rogu
  3. Wybierz pozycję Usunięte, aby wyświetlić tylko usunięte wersje

Krok 3. Przywracanie wersji

  1. Obok usuniętej wersji pakietu, którą chcesz przywrócić, kliknij pozycję Przywróć
  2. Aby potwierdzić, kliknij pozycję Rozumiem konsekwencje, przywróć tę wersję

Wskazówka

Przywrócone pakiety wracają do tych samych ustawień widoczności, które miały przed usunięciem (publiczne, prywatne lub wewnętrzne).

Scenariusze przywracania

Typowe przypadki użycia przywracania:

  • Przypadkowe usunięcie: Przywracanie wersji usuniętej przez pomyłkę
  • Odzyskiwanie zależności: Użytkownik potrzebuje wcześniej usuniętej wersji
  • Decyzja dotycząca wycofania: Zdecydowano się ostatecznie nie usuwać wersji
  • Cele testowe: Potrzebna stara wersja do testowania porównawczego
  • Wymaganie dotyczące zgodności: Musi zachować wersje historyczne

Kroki po przywróceniu

Po przywróceniu pakietu:

  1. Sprawdź funkcjonalność: Przetestuj, czy przywrócony pakiet działa poprawnie
  2. Aktualizacja dokumentacji: Dodawanie notatek dotyczących usuwania i przywracania
  3. Powiadamianie użytkowników: Poinformuj użytkowników, że pakiet jest ponownie dostępny
  4. Przejrzyj uprawnienia: Upewnij się, że kontrole dostępu są nadal odpowiednie
  5. Rozważ alternatywy: Ocena, czy usunięcie było właściwym podejściem

Zarządzanie cyklem życia pakietów

Najlepsze rozwiązania dotyczące zarządzania pakietami:

  • Wycofanie najpierw: Oznacz wersje jako przestarzałe przed usunięciem
  • Plan komunikacji: Powiadamianie konsumentów z dużym wyprzedzeniem
  • Okres karencji: Pozwól konsumentom na czas migracji
  • Przechowywanie wersji: Zachowaj minimalną dostępność możliwych do utrzymania wersji
  • Ścieżka audytu: Dokumentowanie wszystkich decyzji dotyczących usuwania
  • Zautomatyzowane czyszczenie: Używanie zasad do systematycznego usuwania starych wersji

Dodatkowe zasoby

Aby uzyskać więcej informacji, zobacz: