إطلاق نظام التحكم في المصدر الموزع Git 2.23

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

ومقارنة بالإصدار السابق، تضمن الإصدار الجديد 505 تغييرات، تم إعدادها بمشاركة 77 مطورًا، شارك 26 منهم في التطوير لأول مرة. أساسي الابتكارات:

  • تم تقديم أوامر "git Switch" و"git Restore" التجريبية لفصل إمكانيات "git checkout" المقترنة بشكل غير محكم، مثل معالجة الفروع (التبديل والإنشاء) واستعادة الملفات في دليل العمل ("git checkout $commit - $filename") أو على الفور في منطقة التدريج ("—التدريج"، ليس له مثيل في "git checkout"). تجدر الإشارة إلى أنه، على عكس "git checkout"، يقوم "git Restore" بإزالة الملفات التي لم يتم تعقبها من الأدلة التي تتم استعادتها ("--no-overlay" افتراضيًا).
  • تمت إضافة خيار "git merge –quit"، والذي، على غرار "-abort"، يوقف عملية دمج الفروع، لكنه يترك دليل العمل دون تغيير. يمكن أن يكون هذا الخيار مفيدًا إذا كان من الأفضل إصدار بعض التغييرات التي تم إجراؤها أثناء الدمج اليدوي كالتزام منفصل.
  • تأخذ أوامر "git clone" و"git fetch" و"git Push" في الاعتبار الآن وجود الالتزامات في المستودعات المرتبطة (بدائل);
  • مضاف تتيح لك خيارات "git Blame —ignore-rev" و"-ignore-revs-file" تخطي الالتزامات التي تُجري تغييرات طفيفة (على سبيل المثال، إصلاحات التنسيق)؛
  • تمت إضافة خيار "git Cherry-pick —skip" لتخطي الالتزام المتعارض (تناظرية محفوظه لتسلسل "gitset && git Cherry-pick-continue")؛
  • تمت إضافة إعداد Status.aheadBehind، الذي يعمل على إصلاح خيار "git Status —[no-]ahead-Behind" بشكل دائم؛
  • اعتبارًا من هذا الإصدار، يأخذ "git log" في الاعتبار بشكل افتراضي التغييرات التي تم إجراؤها بواسطة خريطة البريد، على غرار الطريقة التي يقوم بها git shortlog بالفعل؛
  • تم تسريع عملية تحديث ذاكرة التخزين المؤقت التجريبية للرسم البياني للالتزام (core.commitGraph) الذي تم تقديمه في الإصدار 2.18 بشكل ملحوظ. كما جعل git for-each-ref أسرع عند استخدام قوالب متعددة وقلل عدد الاستدعاءات إلى auto-gc في "git fetch —multiple"؛
  • يعرض الآن "git Branch --list" رأسًا منفصلاً في بداية القائمة، بغض النظر عن اللغة.

المصدر: opennet.ru

إضافة تعليق