BitbucketでGitをホストする場合、2 GBのハード制限があります。これを超えると、リポジトリへの読み取り専用アクセスのみが可能になります。 これを防ぐには、たとえば、コミットから大きなフォルダまたはファイルを遡及的に削除できます。 ただし、他の場合(アクセスデータが履歴に入力された場合、またはnode_modulesがマスターに戻った場合)、Gitの性質に反して、Gitの履歴を遡及的に操作する必要があります。
Bitbucketはこれ自体について詳細な記事を書いています。 ケースのすべてを実行するために、最初に新しいリポジトリを作成します:
次に、リポジトリをローカルマシンの空のフォルダにクローンします:
6ab7686fc508ce87c52b10bb5d01ee51
次に、ランダムなコンテンツのファイルを使用して2つのサブフォルダーを作成します:
6ab7686fc508ce87c52b10bb5d01ee51
私たちは今マスターを推し進めています:
6ab7686fc508ce87c52b10bb5d01ee51
これで、Bitbucketのハード制限である2GBにほぼ達しました。:
これはローカルで確認することもできます(「サイズパック」を参照)。:
6ab7686fc508ce87c52b10bb5d01ee51
ここでのタスクは、リポジトリから「foo」をさかのぼって削除し、サイズを半分にすることです。 これを行うには、最初に現在のHEADを編集し、フォルダーをgitignoreに書き込みます。:
6ab7686fc508ce87c52b10bb5d01ee51
最後に、 BFGリポジトリクリーナーを使用してフォルダーを削除します(BFGには、システム要件としてシステム上の現在のJREが必要です):
6ab7686fc508ce87c52b10bb5d01ee51
結果をローカルで確認できるようになりました:
6ab7686fc508ce87c52b10bb5d01ee51
ただし、Bitbucketでは、ガベージコレクターがまだリモートで実行されておらず、bitbucketがプッシュするたびに「gitgc」を実行しないため、リポジトリサイズはまだ変更されていません。:
これはサポートによっても確認されています:
したがって、リポジトリで「git gc」を手動で実行するには、 support @ bitbucket.orgに直接リクエストを送信することをお勧めします。 しばらくして、これもサポートチームによって行われました:
リポジトリを「新たに」別のコンピュータに移動した場合、ディスクには0.9GBしか保存されません。 誰かが1.8GBバージョンをローカルで利用できる場合は、「gitpull」に続けて「gitgc」で十分です。