Bitbucket: حذف المجلد من محفوظات Git

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


كتب Bitbucket مقالة مفصلة حول هذا الموضوع. لاستعراض الأمر برمته في حالة واحدة ، نقوم أولاً بإنشاء مستودع جديد:

تاريخ bitbucket نظيفة

ثم نقوم باستنساخ المستودع في مجلد فارغ على الجهاز المحلي:

6ab7686fc508ce87c52b10bb5d01ee51

نقوم الآن بإنشاء مجلدين فرعيين بملفات محتوى عشوائي:

6ab7686fc508ce87c52b10bb5d01ee51

نحن الآن نضغط على السيد:

6ab7686fc508ce87c52b10bb5d01ee51

الآن وصلنا تقريبًا إلى الحد الأقصى البالغ 2 غيغابايت على Bitbucket:

تاريخ bitbucket نظيفة

يمكننا أيضًا التحقق من ذلك محليًا (راجع "size-pack"):

6ab7686fc508ce87c52b10bb5d01ee51

تاريخ bitbucket نظيفة

المهمة الآن هي إزالة "فو" بأثر رجعي من المستودع من أجل خفض حجمه إلى النصف. للقيام بذلك ، نقوم أولاً بتحرير الرأس الحالي ونكتب المجلد في gitignore:

6ab7686fc508ce87c52b10bb5d01ee51

أخيرًا ، نقوم بإزالة المجلد باستخدام BFG Repo Cleaner (BFG يتطلب JRE الحالي على النظام كمتطلب نظام):

6ab7686fc508ce87c52b10bb5d01ee51

نرى الآن النتيجة محليًا:

6ab7686fc508ce87c52b10bb5d01ee51

تاريخ bitbucket نظيفة

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

تاريخ bitbucket نظيفة

يؤكد الدعم أيضًا ما يلي:

تاريخ bitbucket نظيفة

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

تاريخ bitbucket نظيفة

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

عودة