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

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

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

  • تم التراجع عن التمكين الافتراضي الذي تم تنفيذه في الإصدار السابق الإصدار الثاني بروتوكول اتصال Git، والذي يتم استخدامه عندما يتصل العميل عن بعد بخادم Git. يعتبر البروتوكول غير جاهز للاستخدام بشكل افتراضي بعد بسبب تحديد المشكلات الزلقة التي تتطلب دراسة منفصلة.
  • تمت إضافة مجموعة من الخيارات لإعداد اتصال SSL عند الوصول عبر الوكيل.
  • تم توسيع المعلومات المعروضة عند استخدام مرشحات التحويل "النظيفة" و"التلطخ". على سبيل المثال، يتم الآن عرض الكائن شجرة العش، حيث تظهر النقطة المراد تحويلها.
  • لتجنب الارتباك، يستخدم الأمر "git description" الآن دائمًا وضع الإخراج الممتد ("--long") إذا تم تحديد علامة مستبدلة مرتبطة بالالتزام (في السابق، تم إخراج علامة موقعة أو مشروحة تصف الالتزام حتى لو كانت تمت إعادة تسميتها أو نقلها في التسلسل الهرمي "refs/tags/"، ولم يعمل الأمر "git show tag^0" كما هو متوقع - لم يتم العثور على "refs/tags/tag" أو حتى تم إرجاع علامة مختلفة).
  • عند تنفيذ "git pull"، يتم الآن إصدار تحذير ما لم يتم تعيين متغير التكوين pull.rebase بشكل صريح ولم يتم استخدام الخيارات "--[no-]rebase" أو "--ff-only". لمنع التحذير لأولئك الذين لا ينوون تنفيذ عملية إعادة الأساس، يمكن تعيين المتغير إلى خطأ.
  • تمت مراجعة خيارات "git pull" الشائعة في "git fetch". تم توثيق الخيارات المماثلة التي لم يتم ذكرها مسبقًا وتمرير الخيارات المفقودة إلى git fetch.
  • تمت إضافة خيار "--no-gpg-sign" إلى أمر "git rebase" لتجاوز إعداد "commit.gpgSign".
  • تمت إضافة القدرة على "تصحيح تنسيق git" لعرض الرؤوس "من:" و"الموضوع:" دون تغيير، دون تحويل أحرف غير ASCII.
  • تمت إضافة خيار "-show-pulls" إلى "git log"، مما يسمح لك ليس فقط بعرض الالتزامات التي تم إجراء التغييرات فيها، ولكن أيضًا الالتزام بدمج هذه التغييرات من فرع منفصل.
  • معالجة الإدخال التفاعلي الموحد عبر جميع المكونات وإضافة استدعاء إلى fflush() بعد ظهور مطالبة الإدخال ولكن قبل عملية القراءة.
  • يسمح لك "git rebase" بإعادة تطبيق جميع الالتزامات المحلية دون إجراء عملية "الخروج" أولاً، حتى لو تم رفع بعضها مسبقًا.
  • تم تغيير متغير التكوين "pack.useSparse" إلى "صحيح" لتمكين التحسينات التي تم وصفها مسبقًا على أنها تجريبية بشكل افتراضي.
  • تمت إضافة خيار "--autostash" إلى "git merge".
  • تحسين واجهة "الخروج متفرق".
  • تمت إضافة العديد من الإجراءات الجديدة إلى "git update-ref --stdin"،
    السماح بالتحكم المباشر في معاملات تحديث الارتباط، على سبيل المثال، لتنفيذ تحديثات الارتباط الذري على مرحلتين عبر مستودعات متعددة.

  • تمت إضافة قوالب userdiff لمستندات Markdown.
  • تمت إزالة القيد لاستبعاد جميع المسارات في قوالب الخروج المتفرقة التي تؤدي إلى شجرة عمل فارغة.
  • أصبحت عملية "git Restore --staged --worktree" افتراضية الآن لاستخدام المحتويات من فرع "HEAD" بدلاً من إلقاء خطأ.
  • استمر العمل على التبديل إلى خوارزمية التجزئة SHA-2 بدلاً من SHA-1.
  • تمت إعادة صياغة كود التفاعل مع GnuPG.

المصدر: opennet.ru

إضافة تعليق