Usuwanie i przywracanie pakietu
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
- Na GitHub.com przejdź do strony głównej repozytorium
- Po prawej stronie listy plików kliknij pozycję Pakiety
- Wyszukaj i wybierz pakiet
Krok 2. Zarządzanie wersjami dostępu
- W prawym górnym rogu strony docelowej pakietu kliknij pozycję Ustawienia pakietu
- Na lewym pasku bocznym kliknij pozycję Zarządzaj wersjami
Krok 3. Usuwanie wersji
- Po prawej stronie wersji, którą chcesz usunąć, kliknij menu ⋯ i wybierz pozycję Usuń wersję
- 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
- Na GitHub.com przejdź do strony głównej repozytorium
- Po prawej stronie listy plików kliknij pozycję Pakiety
- Wyszukaj i wybierz pakiet
Krok 2. Uzyskiwanie dostępu do ustawień pakietu
- W prawym górnym rogu strony docelowej pakietu kliknij pozycję Ustawienia pakietu
Krok 3. Usuwanie pakietu
- Przewiń w dół do sekcji Danger Zone (Strefa zagrożenia )
- Kliknij pozycję Usuń ten pakiet
- Uważnie przejrzyj komunikat z potwierdzeniem
- Wprowadź nazwę pakietu , aby potwierdzić
- 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
- Przejdź do strony docelowej pakietu
- Po prawej stronie kliknij pozycję Ustawienia pakietu
Krok 2. Znajdowanie usuniętych wersji
- Na lewym pasku bocznym kliknij pozycję Zarządzaj wersjami
- Użyj menu rozwijanego Wersje w prawym górnym rogu
- Wybierz pozycję Usunięte, aby wyświetlić tylko usunięte wersje
Krok 3. Przywracanie wersji
- Obok usuniętej wersji pakietu, którą chcesz przywrócić, kliknij pozycję Przywróć
- 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:
- Sprawdź funkcjonalność: Przetestuj, czy przywrócony pakiet działa poprawnie
- Aktualizacja dokumentacji: Dodawanie notatek dotyczących usuwania i przywracania
- Powiadamianie użytkowników: Poinformuj użytkowników, że pakiet jest ponownie dostępny
- Przejrzyj uprawnienia: Upewnij się, że kontrole dostępu są nadal odpowiednie
- 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:
- Usuwanie i przywracanie pakietu — GitHub Docs — kompletny przewodnik usuwania i przywracania.
- Praca z rejestrem pakietów GitHub — operacje specyficzne dla rejestru.
- Praca z rejestrem NuGet — procedury usuwania specyficzne dla pakietu NuGet.
- Praca z rejestrem npm — procedury usuwania specyficzne dla narzędzia npm.
- Wymagane uprawnienia — opis wymagań dotyczących uprawnień dla operacji pakietu.