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

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

عودة