
# Czyszczenie

Czyszczenie usuwa piaskownice, które nie są już potrzebne. Najpierw sprawdź podgląd:

```bash
wp rudel cleanup --dry-run
```

`--dry-run` pokazuje, co zostałoby usunięte i dlaczego. Uruchom bez tej flagi, aby je usunąć:

```bash
wp rudel cleanup
```

Polecenie nie prosi o potwierdzenie.

## Zasady

Niezabezpieczona piaskownica zostanie usunięta, jeśli zachodzi którykolwiek z tych warunków:

| Powód | Zasada |
|--------|------|
| `expiry reached` | jej `expires_at` przypada w przeszłości |
| `age policy matched` | utworzono ją ponad `max_age_days` temu |
| `idle policy matched` | od jej ostatniej aktywności minęło ponad `max_idle_days` |

`max_age_days` i `max_idle_days` pochodzą z `rudel_config` (domyślnie oba mają wartość `0`, co wyłącza tę regułę). Zastąp te wartości na potrzeby jednego uruchomienia:

```bash
wp rudel cleanup --max-age-days=30 --dry-run
wp rudel cleanup --max-idle-days=7
```

Ostatnia aktywność jest aktualizowana przy każdym żądaniu, które wybiera piaskownicę, oraz przy tworzeniu migawek.

## Scalane piaskownice

```bash
wp rudel cleanup --merged --dry-run
```

`--merged` wykonuje osobny przebieg zamiast stosować powyższe zasady. Usuwa piaskownicę, gdy każda powiązana z nią drzewiasta kopia Git ma gałąź scaloną z domyślną gałęzią repozytorium, a następnie usuwa te gałęzie. Powiązane drzewa robocze powstają przez sklonowanie piaskownicy, której katalog motywu jest repozytorium Git (zob. [Git](https://rudel.inline0.dev/pl/docs/features/git)). Piaskownice utworzone za pomocą `--git` nie mają zapisów drzew roboczych i są zawsze pomijane ([zgłoszenie nr 8](https://github.com/inline0/rudel/issues/8)).

## Chronione piaskownice

Oba przebiegi pomijają chronione piaskownice. Najpierw usuń ochronę za pomocą `wp rudel update <id> --unprotected`, jeśli czyszczenie ma je uwzględnić. `wp rudel destroy` ignoruje ochronę.

Usunięcie piaskownicy usuwa jej tabele, zarządzane pliki i drzewa robocze oraz kasuje rekord środowiska Rudel. Zobacz [Automatyzacja](https://rudel.inline0.dev/pl/docs/features/automation), aby zaplanować czyszczenie.
