بوابة 2.43 راية
بعد ثلاثة أشهر من التطوير، أعلن مشروع Git مؤخرًا عن إصدار النسخة الجديدة Git 2.43، والتي تأتي مع ميزات جديدة وإصلاحات للأخطاء من أكثر من 80 مساهمًا، 17 منهم جدد.
أضافت Git 2.43 خياري "--filter" و "--filter-to" إلى أمر "git repack" . يتيح لك هذان الخياران إعادة تجميع المستودع مع مراعاة عامل تصفية الكائنات المحدد.
بالإضافة إلى ذلك، إذا لزم الأمر، يمكن نقل الكائنات التي لا تتوافق مع عامل التصفية إلى موقع منفصل. تعتبر هذه الخيارات مفيدة لتقسيم المخزون بناءً على معايير معينة، مثل إزالة الكائنات غير الضرورية أو كبيرة الحجم. وعلى الرغم من هذه التعديلات، يتم الاحتفاظ بالقدرة على الوصول إلى جميع أجزاء المستودع من خلال الاستنساخ الجزئي.
ومن التغييرات الملحوظة الأخرى في هذا الإصدار الجديد من git repack أنه يدعم الآن العمل مع حزم Cruft المتعددة، بالإضافة إلى تقسيم محتويات المستودع باستخدام مرشح الكائنات.
بالإضافة إلى ذلك، تجدر الإشارة إلى إمكانية العمل مع ملفات حزم متعددة تحتوي على معلومات حول الكائنات غير القابلة للوصول، والمعروفة باسم "حزم البيانات غير الضرورية". لا تتم الإشارة إلى هذه الملفات في المستودع؛ أي أنها غير مرتبطة عبر الفروع أو الوسوم. مع إضافة خيار `git repack --max-cruft-size` الجديد، أصبح من الممكن الآن تحديد الحد الأقصى لحجم ملف حزمة واحد وتقسيم قاعدة بيانات الكائنات غير القابلة للوصول إلى عدة ملفات حزم أصغر.
يمكن أن يؤدي استخدام عدة ملفات حزمة صغيرة بدلاً من ملف واحد كبير إلى انخفاض ملحوظ في عمليات الإدخال/الإخراج عند إعادة تعبئة المستودعات بعدد كبير من الكائنات التي لا يمكن الوصول إليها. وذلك لأن كل عملية لن تتطلب الكتابة فوق كافة البيانات، وبالتالي تحسين كفاءة العملية.
كما تجدر الإشارة إلى أنه تم تحديث أمر for-each-ref بميزات جديدة متعلقة بالتنسيق ، حيث يمكن للمستخدمين الآن إخبار git for-each-ref بتطبيق أي قاعدة .mailmap محددة في مستودعهم على محددات التنسيق المخصصة، بما في ذلك %(authorname) و%(committeremail) وغيرها.
علاوة على ذلك، تجدر الإشارة إلى أنه تم تعديل رسالة السجل الافتراضية التي تم إنشاؤها بواسطة "git revert"، عند التراجع عن عملية الالتزام التي تسجل عملية التراجع، لتشجيع الأشخاص على وصف حالات "التراجع" المعقدة بشكل أفضل بكلماتهم الخاصة.
تشمل التغييرات البارزة الأخرى في هذا الإصدار الجديد ما يلي:
- تم إجراء تغييرات كبيرة على نظام CI الخاص بـ Git، مما يسمح بإلغاء تشغيل CI المستمر عند حدوث دفعات جديدة للفروع مع إجراء عمليات فحص CI.
- يمكن لـ Git الآن أيضًا استخدام النتائج والإبلاغ عنها إلى Coverity، وهي أداة تحليل ثابتة من Synopsys.
- «ملف دمج git» أصبح لدى الآن طريقة لقراءة ثلاثة أنواع مختلفة من المحتوى ليتم دمجها من الكائنات الثنائية الكبيرة.
- تمت إضافة القدرة على تطبيق قواعد .mailmap لتحديد التنسيق المحدد باستخدام الخيار -صيغةكما "%(authorname)" و"%(committeremail)" إلى "git for-each-ref"» وأوامر مماثلة.
- الآن الخيارات -rfc و-الموضوع البادئة يعملون معا
- وهناك رسالة مكتوبة في العصور القديمة تمنع إزالة فرع، قائلة إنه تم تسجيله بالفعل في مكان آخر. ولكن يُقترح الآن أن يتم سحب الفرع الذي تم تقسيمه إلى قسمين أو إعادة تأسيسه كفرع وحمايته من التعديل بنفس مسار التعليمات البرمجية. تمت إعادة صياغة الرسالة لتقول أن الفرع "قيد الاستخدام" لتجنب الارتباك.
- «git-update-index»الآن لديك الخيار»-إظهار نسخة الفهرس» لفحص إصدار تنسيق الفهرس الذي يستخدمه ملف الفهرس الموجود على القرص.
- ميزات جديدة لتنسيقات سجل git المخصصة، مما يسمح للمستخدمين بإضافة زخارف باستخدام العنصر النائب الجديد %(تزيين) ، والذي يأتي مع معدّلات اختيارية مثل البادئة واللاحقة والفواصل والمزيد.
وأخيرًا، إذا كنت مهتمًا بمعرفة المزيد، يمكنك العثور على التفاصيل في الرابط التالي.