تم الإعلان عن إطلاق الإصدار الجديد من Git 2.22. يُعد Git أحد أنظمة التحكم في الإصدارات الأكثر شيوعًا وموثوقية وكفاءة، كما أنه يوفر أدوات تطوير.
لضمان سلامة السجل ومقاومة التغيير في الإدراك المتأخر ، يتم استخدام التجزئة الضمنية لكل التاريخ السابق في كل التزام ويمكن أيضًا التحقق من التوقيعات الرقمية للمطورين الملتزمين والعلامات الفردية.
بالمقارنة مع الإصدار السابق ، تم إجراء 745 تغييرًا على الإصدار الجديد، الذي تم إعداده بمشاركة 74 مطورًا، 18 منهم شاركوا في التطوير لأول مرة.
بوابة 2.22 الميزات الجديدة الرئيسية
لعرض الفرع المحلي المستخدم حاليًا، يمكنك الآن استخدام الأمر "git branch-show-current ".
بالإضافة إلى ذلك، منذ الإصدار 1.18، أصبح وضع النقل الجديد لمجموعة الالتزامات " git rebase --rebase-merges " متاحًا ، والذي حل محل الخيار السابق " --preserve-merges "، والذي تم وضع علامة عليه الآن بأنه قديم.
للحفاظ على بنية الفرع في فرع قابل للنقل، يمكنك استخدام الخيار " --preserve-merges "، والذي عند تشغيله في الوضع التفاعلي ( git rebase -i --preserve-merges )، يسمح بتحرير سجل الالتزامات، ولكنه لا يضمن الحفاظ الكامل على بنية المستودع.
يسمح لك وضع الخلفاء " --rebase-merges " بالحفاظ على بنية التغييرات في الفرع المحمول، مع توفير مجموعة كاملة من العمليات التفاعلية، بما في ذلك حذف عمليات الالتزام وإعادة ترتيبها وإعادة تسميتها.
على سبيل المثال، يسمح الخيار " --rebase-merges " بإجراء عمليات الالتزام من فرع منفصل إلى فرع رئيسي أحدث، مع الحفاظ على بنية الفرع في الفرع المحمول، وإجراء بعض التغييرات على الملاحظات للالتزام بها أثناء التشغيل.
تُستخدم عملية " git rebase " لاستبدال سلسلة من الالتزامات بالتزام أساسي جديد، على سبيل المثال، لتغيير فرع منفصل حيث يتم تطوير ميزة جديدة إلى الحالة الحالية للفرع الرئيسي، بما في ذلك أي إصلاحات تمت إضافتها بعد الفرع.
دعم خلفية سامية
تم تحديث تقرير ` git bisect` وأصبح الآن أكثر وضوحًا ، كما يدعم ` git mergetool` الآن Sublime Merge (` smerge` ) كخلفية. يستدعي Git الخطاف الجديد ` post-index-change` عند تغيير ملف الفهرس المخزن، مما يُسهّل التعامل مع أشجار العمل الافتراضية.
بالإضافة إلى ذلك، يتم الآن تشغيل " git difftoo l" خارج المستودع وإلغاء " git checkout -m <other> " عندما يكتشف اختلافًا بين HEAD و index.
نظرًا لأن تعبئة الفهرس تستغرق أحيانًا وقتًا طويلاً في عملية الاستنساخ ، فقد منحك المطورون شريط تقدم في هذه العملية.
في الوقت نفسه، يتواصل الأمر ` git clone` عبر الإصدار الثاني من البروتوكول بفضل خيار الخادم الجديد ` switch` . وقد حسّنت العديد من الميزات من إكمال التعليمات البرمجية، كما عمل المطورون على أداة التتبع trace2.
توفر آلية التتبع الجديدة Trace2 تنسيق إخراج أكثر مرونة وتنظيمًا. تتيح Trace2 جمع بيانات القياس عن بُعد التشغيلية وبيانات الأداء لإجراء تحليل وتصحيح أخطاء أكثر تفصيلًا (يُحدد المستخدم وحدة التحكم؛ ولا يتم إرسال أي بيانات خارجيًا).
الأداء والتطوير
تمت إعادة كتابة آلية التفاضل المدمجة في Git، وهي تدعم الآن الأمر ` git commit-tree` ، كما أصبح كل من واجهة برمجة التطبيقات ` pack-redundant` والأمر ` git multi-pack-index verify` يعملان بشكل أسرع في المستودعات التي تحتوي على العديد من ملفات الحزم. وبالنسبة للمطورين، تم تحديث إطار عمل الاختبار أيضًا.
مؤخرًا، تمّت برمجة ` git stash` بلغة C لاستبدال ` git rebase` . وقد تمّ تحديث برمجة C لمنع Git من الكتابة فوق الملف نفسه بشكل متكرر. كما أصبح ` git diff` يعمل الآن بشكل أسرع في حالات خاصة حيث يجمع معلومات حول الكائنات الثنائية الكبيرة (blobs). وأخيرًا وليس آخرًا، يُسرّع `git clone` عملية الاتصال.
تمت إضافة أيضًا إمكانية التصفية عند عرض علامات "سجل git" الموسعة المرفقة بالطلبات.