One of my repo got notified became too large on 3.1GB
Already delete big files on some of my branch some time ago
Still got that notififcation
It make me cannot branching and push another new branch
I've just executed a garbage collection on the server end, it reduced the repo size from 3.1GB > 799MB.
I can see your workspace is still 17GB in total, and is on a Free plan. Free plan's are limited to 1GB total workspace size, so you will still be blocked from pushing.
I would suggest considering upgrading to a paid plan (even just for the trial period) to allow you to effectively perform repository cleanup to reduce the total repo size.
Kind Regards,
- Ben (Bitbucket Cloud Support)
The reason you're still seeing that notification is that deleting files in a normal commit doesn't actually shrink the repository. Git is designed to keep every version of every file forever, so those large blobs are still sitting inside your history — they're just no longer referenced by your current branch. Your 3.1 GB is almost certainly made up of old objects that earlier commits, tags, or other branches still point to.
Here's how to bring the size down properly.
Clone a bare/mirror copy locally so you can inspect the full history without affecting your working repo:
git clone --mirror https://bitbucket.org/<workspace>/<repo>.git
cd <repo>.git
Then list the largest objects across all of history:
git rev-list --objects --all \
| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
| awk '/^blob/ {print $3, $4}' \
| sort -n \
| tail -30
This shows the biggest files (by size and path) hiding in your history — usually build artefacts, videos, datasets, or dependencies that got committed by accident.
git filter-repo is the currently recommended tool (it replaces the old git filter-branch and BFG):
# Install once
pip install git-filter-repo
# Remove every blob larger than a threshold
git filter-repo --strip-blobs-bigger-than 10M
# ...or remove specific paths
git filter-repo --path path/to/big/file --invert-paths
⚠️ Rewriting history changes every commit hash from the rewrite point onwards. It's destructive, so coordinate with your team first and make sure you have a backup.
git push --force --mirror
Because you cloned with --mirror, this overwrites all branches and tags in one push. Bitbucket Cloud runs garbage collection on its side automatically (there's no manual GC button on Cloud), and your reported size should drop shortly after.
After a history rewrite, anyone with a clone must delete it and re-clone. A normal git pull won't help — they'll just pull the old objects back in and re-inflate the repo. The same applies to any CI/CD pipelines that cache the repo.
For large binary assets (videos, datasets, build outputs), switch to Git LFS — it stores the big files outside the Git object database so they never bloat history again. Bitbucket Cloud supports LFS on Standard and above plans.
git filter-repo.Hope that gets you unblocked!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.