> ## 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.

# ストレージ

> ストレージ使用量の計算方法

Diversion はプロジェクトとその履歴をクラウドに保存します。これにより、どのデバイスからでもプロジェクトにアクセスでき、チームと共同作業ができます。
ただし、これは同時に、どれだけのストレージを使用しているか、どのように計算されるかを把握しておく必要があることを意味します。

<Card title="ストレージはいつ計算される？" icon="triangle-exclamation" iconType="duotone" color="#ca8b04">
  ストレージは毎日計算されます。変更を加えてもストレージ使用量に反映されない場合は、翌日まで待ってから再度確認してください。
</Card>

## 各ファイルについて

Diversion は、リポジトリ内のファイルの履歴を、そのファイルを含むコミットごとに1バージョン保持します。
つまり、1 MB のサイズのファイルがあり、そのファイルを含む10個のコミットを行った場合、10 MB のストレージ使用量としてカウントされます。

そのファイルを削除しても、10 MB のストレージ使用量としてカウントされ続けます。なぜなら、そのファイルの履歴はリポジトリに保存されており、
以前のコミット（そのファイルを含む）に戻したり、履歴からダウンロードしたりできるからです。

同じ理由で、コミットの取り消しやロールバック、大きなファイルの小さなファイルへの置き換え、`.dvignore` への追加は、ストレージ使用量を減らしません。これらの操作はファイルの現在の状態を変更するだけで、古いバージョンは履歴に残り、カウントされ続けます。

管理者は、次の2つの方法でストレージを回収できます：[リビジョン制限](/ja/advanced/revision-limits) を設定してマッチするファイルの最新 N バージョンのみを保持し古いものを自動的に削除する方法、または [obliterate](/ja/advanced/obliterate) を使用して特定のファイルとその履歴全体を永久に削除する方法です。リポジトリを削除したり、マージされていないブランチを削除することでもストレージが減少します。

新しいファイルやまだコミットされていない変更を含むファイルもクラウドに同期されるため、ストレージクォータにカウントされます。
これらは削除しやすく、ワークスペースから `reset` するだけでクラウドからも削除され、ストレージにカウントされなくなります。

## 各リポジトリについて

リポジトリごとに、ダッシュボードの **Remote Repositories** タブの行で、どれだけのストレージを使用しているか確認できます。これは、各ファイルのすべてのバージョンを含む、リポジトリ内のすべてのファイルの合計サイズです。

<img src="https://mintcdn.com/diversion-2/g_jyumy-qEjJFz_7/images/storage-per-repository.png?fit=max&auto=format&n=g_jyumy-qEjJFz_7&q=85&s=a471f9a513dd5dae92c201bd24bf5281" alt="リポジトリごとのストレージ" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="1692" height="154" data-path="images/storage-per-repository.png" />

## 各組織について

組織については、その組織に割り当てられたすべてのリポジトリがカウントされます。ストレージクォータは組織のオーナーに対して計算されます。組織の合計ストレージは、組織設定の Repositories ページで確認できます。

<img src="https://mintcdn.com/diversion-2/410ATEhIJpZrdWhu/images/storage-organization-total.png?fit=max&auto=format&n=410ATEhIJpZrdWhu&q=85&s=9f4f18d7f637231d4e856f33b5b63ead" alt="組織の合計ストレージ" style={{width: '90%', borderRadius: '1.5rem', border: '.3rem solid #555', boxShadow: '0 0 1rem #888' }} width="506" height="87" data-path="images/storage-organization-total.png" />

組織のオーナーまたは管理者が新しいメンバーを招待し、そのメンバーがどの組織にも割り当てられていないリポジトリを持っている場合、それらのリポジトリは自動的に招待側ユーザーの組織に追加され、そのストレージが組織のストレージクォータにカウントされます。また、組織のオーナーまたは管理者が組織に属するリポジトリに新しいコラボレーターを招待した場合、その新しいコラボレーターはメンバーとして追加されます。
これらのどちらも避けたい場合は、組織で使用する別の Diversion アカウントを作成することができます。

サポートが必要な場合は、サポートにお問い合わせください。

## FAQ

### ストレージ容量を解放するためにリポジトリの履歴を削除できますか？

はい。リポジトリの管理者は [obliterate](/ja/advanced/obliterate) で特定のファイルとその履歴を永久に削除できます。このコマンドは1つ以上のパスパターンを受け取り、すべてのブランチとコミットにわたってマッチするファイルのすべてのバージョンを削除します。

最新バージョンを保持しつつ古いものを自動的に削除するには、代わりに [リビジョン制限](/ja/advanced/revision-limits) を設定してください。マッチするファイルの最新 N バージョンのみを保持し、新しいコミットが到着すると残りを削除します。

**今後について**：[.dvignore](/ja/basic/dvignore) ファイルを使用して、今後のコミットから特定のファイルまたはフォルダーを除外できます。ただし、これは変更前に既にコミットされた項目には影響しません。

### ストレージ制限を超えていることを示すシステムメッセージが表示されるのはなぜですか？

次のような [システムメッセージ](/ja/system-messages) が表示された場合：

<img src="https://mintcdn.com/diversion-2/Aw_zyWVcVChQlHD5/images/storage-plan-breach-notification.png?fit=max&auto=format&n=Aw_zyWVcVChQlHD5&q=85&s=75ca09e91d9d01a1d1375ca720527959" alt="ストレージプラン違反の通知" width="1322" height="42" data-path="images/storage-plan-breach-notification.png" />

これは、合計リポジトリストレージがプランのストレージ容量を超えていることを意味します。これを解決するには、次の3つのオプションがあります：

1. **使用していないリポジトリを削除する** - 不要になったリポジトリを削除して容量を解放する
2. **プランをアップグレードする** - ニーズに合わせて追加のストレージ容量を購入する
3. **リポジトリを組織外に移動する** - 組織のオーナーであれば、組織内のリポジトリを別の組織に移動できます。手順については [リポジトリの移動方法](/ja/basic/organization-management#組織からリポジトリを移動するにはどうすればよいですか) を参照してください
4. **マージされていないブランチを削除する** - 不要になったマージされていないブランチがあれば、削除するとストレージを解放できます
