状況
Bitbucketでread only modeになってしまいました。容量が2GBを超えるとread only modeになるようです。さらに5GBを超えてしまうと$ git push
しても受け付けず、以下が表示されます。
$ git push --force
Repository is in read only mode (over 2 GB size limit). Learn how to reduce your repository size: https://confluence.atlassian.com/x/xgMvEw.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ちなみに2GB以上,5GB以下なら…
$ git reset --hard HEAD~1
$ git push --force
対処法
リポジトリを一旦削除して再度作り直します。(対処法と言えるかは微妙ですが。)
1. ローカルリポジトリにpull
$ git pull
作業中のローカルリポジトリを壊したくなければ…
2. 容量を減らす
次に、Gitの容量を減らすために、ローカルリポジトリの容量の大きいファイルやフォルダを削除します。バックアップをとってから以下のコマンドで削除します。
$ git filter-branch --tree-filter "rm -f -r [消したいディレクトリパス] " HEAD
$ git gc --aggressive --prune=now
3. リモートリポジトリを削除
ブラウザでBitbucketにログイン → 左上のハンバーガメニュー → 「リポジトリ」 → 削除したいリポジトリに移動 → 左上のハンバーガメニュ → 「Repository settings」 → 一番下の「リポジトリの削除」
4. 同名のリポジトリを作成
左上のハンバーガメニュー → 「+」 → 「リポジトリ」
リポジトリ名を以前と同じにすると、同じURLになります。
5. リモートにpush
$ git push
おわりに
複数人で共有している場合はテストしていません。割と雑な対処法ですが、個人で使う分には問題ないと思います。
環境
Ubuntu 18.04.4 LTS
git version 2.17.1
参考文献
How to push in read-only mode?
Git リポジトリに上がっているファイルを履歴ごと消すには?
Bitbucketのリポジトリを削除する5ステップ