عند استضافة Git على Bitbucket ، يوجد حد صارم يبلغ 2 جيجابايت - إذا تم تجاوزه، فسيكون لديك حق الوصول للقراءة فقط إلى المستودع. لمنع ذلك، يمكنك، على سبيل المثال، إزالة المجلدات أو الملفات الكبيرة بأثر رجعي من التزاماتك. لكن في حالات أخرى أيضًا (إذا وجدت بيانات الوصول طريقها إلى السجل أو تراجعت وحدات العقدة لإتقانها مرة أخرى) يتعين عليك التعامل مع سجل Git بأثر رجعي، على عكس طبيعته.
كتب Bitbucket مقالة مفصلة حول هذا نفسه. لتشغيل كل شيء في حالة ما ، نقوم أولاً بإنشاء مستودع جديد:

ثم نقوم باستنساخ المستودع إلى مجلد فارغ على الجهاز المحلي:
6ab7686fc508ce87c52b10bb5d01ee51
الآن نقوم بإنشاء مجلدين فرعيين بملفات ذات محتوى عشوائي:
6ab7686fc508ce87c52b10bb5d01ee51
نحن الآن نضغط على السيد:
6ab7686fc508ce87c52b10bb5d01ee51
لقد وصلنا الآن تقريبًا إلى الحد الأقصى البالغ 2 جيجا بايت على Bitbucket:

يمكننا أيضًا التحقق من ذلك محليًا (انظر "حزمة الحجم"):
6ab7686fc508ce87c52b10bb5d01ee51

المهمة الآن هي إزالة "foo" بأثر رجعي من المستودع لخفض حجمه إلى النصف. للقيام بذلك ، نقوم أولاً بتحرير الرأس الحالي وكتابة المجلد في gitignore:
6ab7686fc508ce87c52b10bb5d01ee51
أخيرًا ، نقوم بإزالة المجلد بمساعدة BFG Repo Cleaner (يتطلب BFG وجود JRE الحالي على النظام كمتطلب من متطلبات النظام):
6ab7686fc508ce87c52b10bb5d01ee51
يمكننا الآن رؤية النتيجة محليًا:
6ab7686fc508ce87c52b10bb5d01ee51

ومع ذلك ، لم يتغير حجم المستودع على Bitbucket لأن أداة تجميع البيانات المهملة لم يتم تنفيذها عن بعد ولا تؤدي bitbucket "git gc" مع كل دفعة:

هذا ما أكده أيضًا الدعم:

لذلك من الأفضل إرسال طلب مباشرةً إلى support@bitbucket.org لتشغيل "git gc" يدويًا في المستودع. بعد وقت قصير تم القيام بذلك من قبل فريق الدعم:

إذا قمت "حديثًا" بنقل المستودع إلى كمبيوتر آخر ، سينتهي الأمر بـ 0.9 جيجابايت فقط على القرص. إذا كان لدى شخص ما الإصدار 1.8 غيغابايت متاحًا محليًا ، يكفي استخدام "git pull" متبوعًا بـ "git gc".