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

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


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

تاريخ bitbucket نظيف

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

6ab7686fc508ce87c52b10bb5d01ee51

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

6ab7686fc508ce87c52b10bb5d01ee51

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

6ab7686fc508ce87c52b10bb5d01ee51

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

تاريخ bitbucket نظيف

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

6ab7686fc508ce87c52b10bb5d01ee51

تاريخ bitbucket نظيف

المهمة الآن هي إزالة "foo" بأثر رجعي من المستودع لخفض حجمه إلى النصف. للقيام بذلك ، نقوم أولاً بتحرير الرأس الحالي وكتابة المجلد في 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".

عودة