العودة
SiTech
‏Git 2.56 يقترب — وقد يكون الإصدار التالي Git 3.0
SiTech AI Team3 წთ. საკითხავი

‏Git 2.56 يقترب — وقد يكون الإصدار التالي Git 3.0

‏Git 2.56 في مرحلة المرشح للإصدار ويضم أكثر من 700 التزام. وفي الوقت نفسه يدرس المشرف جونيو هامانو ما إذا كان الإصدار التالي سيكون Git 3.0 المنتظر مع الانتقال إلى SHA-256 وreftable.

‏Git 2.56 في مرحلة المرشح للإصدار

يُتوقع صدور Git 2.56 قرب نهاية سبتمبر/أيلول 2026، وهو متاح حالياً كمرشح للإصدار. ويضم أكثر من 700 التزام (commit) غير متعلق بالدمج، وكما يكتب جوناثان كوربيت من LWN، فهو يجلب عدداً من التحسينات المرحّب بها دون تغيير جوهري في تجربة استخدام Git.

أبرز إضافة هي الأمر الفرعي drop في صندوق أدوات git history الذي ما زال تجريبياً: الأمر git history drop commit-id يحذف الالتزام المحدد من تاريخ الفرع الحالي ويعيد تنفيذ كل الالتزامات المضافة بعده. لكنه ما زال يرفض العمل إذا احتوى التاريخ على التزامات دمج، ما يجعله غير صالح للكثير من المستودعات.

تحسينات في الاستخدام

سيقترح git status الآن تنفيذ git pull لتحديث فرع متأخر عن الفرع الذي يتتبعه. وقد حصل الأمر منخفض المستوى git refs على أوامر فرعية جديدة — create وdelete وupdate وrename — وهي تفعل بالضبط ما توحي به أسماؤها.

الخيار الجديد ‎--delete-merged للأمر git branch يحذف الفروع المحلية التي دُمجت بالفعل في فروع التتبع البعيدة الخاصة بها. وقد حصل git add على خيار ‎--resolved يضيف فقط الملفات التي حُلّت تعارضات الدمج فيها.

ما بعد 2.56: مسألة Git 3.0

في أوائل سبتمبر، سأل مشرف Git جونيو هامانو المجتمع عمّا إذا كان الإصدار التالي يجب أن يكون 3.0، أم أن ثمة حاجة بعد إلى إصدارات أخرى من سلسلة 2.x. السؤال مهم لأن 3.0 سيحمل كسورات في التوافق، وأكبرها الانتقال إلى تجزئة SHA-256 افتراضياً بدلاً من SHA-1.

دعم SHA-256 غير التجريبي موجود في Git منذ الإصدار 2.42 عام 2023، لكن غياب الدعم في مواقع الاستضافة الكبرى أبقى التغيير مؤجلاً: فـ GitLab يدعمه منذ 2024 وكذلك Forgejo، أما GitHub فهو الاستثناء الملحوظ.

وقال برايان م. كارلسون، وهو موظف في GitHub ومن المطورين الرئيسيين وراء هذا الانتقال، إن أخباراً بهذا الشأن قادمة، وإن جعل الإصدار التالي 3.0 قد يكون الخيار الأفضل. كما يريد أن يرفض Git معرّفات الكائنات المكتوبة بأحرف كبيرة قبل 3.0، لأن اعتبار f00f00 وF00F00 الالتزام نفسه أدى إلى أخطاء وثغرات أمنية.

وثمة تغيير آخر ينتظر 3.0 هو الانتقال إلى reftable، وهو تنسيق ثنائي لتخزين المرجعيات أُضيف في Git 2.45؛ فالآلية القائمة على الملفات تصبح غير فعّالة مع نمو عدد المرجعيات، ويحتوي مستودع Android على أكثر من 800,000 مرجع. وعلى البرامج الأخرى التي تقرأ المستودعات أن تلحق بالركب: فقد ذكر كارلسون libgit2 كمصدر قلق، وقد أضاف باتريك شتاينهارت دعم reftable فيه. ويعتزم المشروع كذلك جعل Rust إلزامياً لبناء Git، ما سيترك المنصات التي لا يتوفر فيها مترجم Rust عاملاً عاجزة عن الترقية.

ويرى كارلسون أن هذه المخاوف لا ينبغي أن تؤخر الإصدار، أما المستودعات التي تستخدم SHA-1 ولا تعتمد reftable فستبقى مدعومة بالكامل. ولم يعلن هامانو قراره بعد، وواصفاً العملية بقوله: «هذه ليست مسابقة شعبية ولا حتى ديمقراطية». وإذا لم يصدر 3.0 في 2026 فسيظهر بعد ذلك بقليل.

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.