بوابة 2.44 راية
تم إصدار النسخة الجديدة من Git 2.44 بعد ثلاثة أشهر من التطوير، وتتضمن 503 تغييرات مقارنةً بالنسخة السابقة. وقد أُجريت هذه التغييرات بالتعاون مع 85 مطورًا، 34 منهم شاركوا في عملية التطوير لأول مرة.
بالنسبة لمن لا يعرفون Git، فهو يُعرف بأنه أحد أشهر أنظمة التحكم في الإصدارات وأكثرها موثوقية وكفاءة ، إذ يوفر أدوات تطوير مرنة وغير خطية تعتمد على التفرع والدمج. وللحفاظ على سلامة سجل التغييرات ومنع التغييرات اللاحقة، يستخدم Git تجزئة ضمنية لسجل التغييرات السابق بالكامل في كل عملية تثبيت.
بوابة 2.44 الميزات الجديدة الرئيسية
في هذا الإصدار الجديد من Git 2.44، تُعدّ ميزة دعم إعادة استخدام الكائنات عبر حزم متعددة من أهم الميزات الجديدة . يُمكّن هذا التحسين Git من الاستفادة من إعادة استخدام الكائنات في عدة حزم، مما يُغني عن إعادة تجميع المستودع بأكمله في حزمة واحدة. بفضل هذا التحسين، يستطيع Git إنشاء الحزم بكفاءة أكبر، مما يُحسّن السرعة والأداء أثناء عمليات الدفع والسحب من وإلى المستودعات البعيدة. بدءًا من الإصدار 2.44، يُمكن لـ Git التعامل مع إعادة استخدام الكائنات عبر ملفات حزم متعددة دون الحاجة إلى إعادة تجميع المستودع في ملف حزمة واحد.
بالإضافة إلى ذلك، يُقدّم الأمر `git replay` بديلاً فعالاً للأمر `git rebase` ، ويمكن استخدامه لإعادة إنشاء سجل التغييرات على خادم بدون شجرة عمل (مستودع بسيط لا يحتوي على شجرة عمل)، ومعالجة فروع متعددة في وقت واحد، وإجراء عملية إعادة التأسيس على فروع مختلفة عن تلك التي يتم استرجاعها حاليًا، أو ببساطة لتسريع عمليات الدمج. يُحسّن الأمر `git replay` الأداء بشكل ملحوظ، خاصةً في عمليات الدمج وإعادة التأسيس على المستودعات الكبيرة.
مع Git 2.44، أصبح بالإمكان استخدام خيار `--autosquash` لعمليات تغيير الأساس غير التفاعلية . تتيح لك هذه الخاصية تطبيق عمليات التثبيت fixup! أو squash! تلقائيًا على مواقعها المناسبة دون الحاجة إلى فحص قائمة المهام يدويًا.
ومن أبرز الميزات الجديدة الوظائف والتحسينات الهامة . يدعم الآن كل من الأمرَين `git add` و`git stash` سمات المسار `:(attr:…)`، والتي تُهيأ بطريقة مشابهة للأمر `git show`. على سبيل المثال، يُمكن استخدام الأمر `git add ':(attr:~binary)'` لإضافة جميع الملفات النصية (غير الثنائية) إلى الفهرس. بالإضافة إلى ذلك، تم تقديم السمة `builtin_objectmode` لتصفية مسارات الملفات حسب صلاحيات الوصول. على سبيل المثال، يُمكن استخدام الأمر `git add ':(attr:builtin_objectmode=100755)'` لإضافة جميع الملفات التنفيذية إلى الفهرس.
وتشمل التغييرات البارزة الأخرى ما يلي :
- تمت إضافة دعم لنظام التكامل المستمر GitLab CI.
- خيار مضاف «– خوارزمية الفرق»إلى« الأمرملف دمج git» لاختيار خوارزمية بديلة لتقييم الاختلافات بين الملفات.
- تمت إضافة دعم لتحديث رموز OAuth المميزة إلى الواجهة الخلفية لإدارة بيانات الاعتماد الخاصة بـ wincred، على غرار كيفية تنفيذها في bيوافق على ذاكرة التخزين المؤقت لبيانات الاعتماد وLibsecret لبيانات الاعتماد.
- «جلب بوابة» إضافة دعم لخيار التكوينfetch.all«، والذي سيتم التعامل معه بشكل مشابه لإضافة خيار «-الكل» على سطر الأوامر.
- تمت إضافة الخيار «-تجاهل-أشجار-العمل الأخرى» لتمكين التحديث والتحقق من الفروع التي تستخدم شجرة عمل مختلفة. يؤدي هذا إلى استعادة السلوك السابق للأمر "git checkout -B".
- من الممكن الآن ضبط هذا الإعداد على «صحيح» لإزالة التعليمات «تعطيل هذه الرسالة مع...» التي تشغل مساحة على الشاشة عند عرض الاقتراحات. يؤدي ذلك إلى تحسين تجربة المستخدم عن طريق إزالة العناصر غير الضرورية من مخرجات الأمر.
- تم تحسين تنفيذ هذا الأمر باستخدام الخيار «-بدون فرز". في السابق، حتى عند تحديد «-بدون فرز«، كان الترتيب لا يزال مطبقًا حسب الترتيب الأبجدي. الآن، بعد التحسينات، أصبح استخدام «-بدون فرز" اسرع "بوابة لكل مرجع» بنحو 20% في المستودعات التي تحتوي على عدد كبير من المراجع.
وأخيرًا، إذا كنت مهتمًا بمعرفة المزيد، يمكنك العثور على التفاصيل في الرابط التالي.