> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# prune

> リポジトリのリビジョン制限ルールを一覧表示、追加、編集、または削除する（組織管理者のみ）。

`prune` コマンドは、**リビジョン制限ルール** を管理します。これはパターンごとのルールで、一致するファイルの最新 N バージョンだけを残し、それより古いものをプルーニングします。概念、ブランチセーフなカウント、および glob 構文については、[リビジョン制限ガイド](/ja/advanced/revision-limits) を参照してください。

<Warning>
  プルーニングは古いファイルバージョンを完全に削除し、元に戻すことはできません。プルーニングは各コミットの後に自動的に実行され、プロンプトはありません。動作を当てにする前に、`dv prune list` でリポジトリのルールを確認してください。
</Warning>

要件:

* [**組織管理者**](/ja/basic/access-levels#組織レベルのアクセス) である必要があります。
* リビジョン制限は Git と同期しているリポジトリではサポートされていません。

ルールは順序付きリストです。複数のルールがパスに一致する場合、**最後に一致したルールが優先されます**。ルールを追加すると、末尾（最高優先度）に追加されます。各ルールにはサーバーが割り当てる `id` があり、`list` がこれを表示し、`set` / `remove` はこれを引数に取ります。

## list

すべてのルールを優先度順に表示します。

```bash theme={null}
dv prune list
```

ルールごとに `ID`、`PATTERN`、`KEEP` 列を出力します。`KEEP` は数値、またはすべてのバージョンを保持するルールの場合は `all` です。ルールがない場合は、`No retention rules configured.` と出力されます。

`list` はデフォルトのサブコマンドです -- 単に `dv prune` としても同じことを行います。

## add

ルールを追加します。

```bash theme={null}
dv prune add <pattern> --keep <N|all>
```

`<pattern>` はリポジトリルートに固定された glob です（例: `/Assets/....psd`）。ワイルドカードがシェルによって展開されないように、クォートで囲んでください。[glob 構文](/ja/advanced/revision-limits#glob-構文) を参照してください。

`--keep` は必須です:

* `<N>` -- 最新の `N` バージョンを保持します（`1` から `999`）。
* `all` -- すべてのバージョンを保持します（プルーニングしません）。より広い制限からパスを除外するために使用します。

新しいルールは末尾に追加されるため、以前に一致したルールよりも優先されます。

例:

```bash theme={null}
dv prune add "/....pak" --keep 1
dv prune add "/Assets/Textures/....exr" --keep 3
```

## set

id でルールを編集します。

```bash theme={null}
dv prune set <id> [--keep <N|all>] [--pattern <pattern>]
```

`<id>` は `dv prune list` からのルール id です。`--keep`、`--pattern`、またはその両方を渡します -- 少なくとも 1 つは必要です。

例:

```bash theme={null}
dv prune set r_3f2a --keep 5
dv prune set r_3f2a --pattern "/Assets/....psd"
```

## remove

id でルールを削除します。

```bash theme={null}
dv prune remove <id>
```

例:

```bash theme={null}
dv prune remove r_3f2a
```

## 注意事項

* ルールを追加すると、**将来の** コミットに適用されます。すでに新しい制限を超えているバージョンはプルーニングされません。それらは、一致するファイルに対する後続のコミットが行われた際にプルーニングされます。
* プルーニングは各コミットの後にバックグラウンドで実行され、コミッターに対しては無音（サイレント）で行われます。

完全な概念ガイドと Perforce `+S` からの移行については、[リビジョン制限](/ja/advanced/revision-limits) を参照してください。
