
مرحبًا٪ username٪ ، اليوم نبأ عظيم: في المجال العام ظهر إصدار نظام التحكم الموزع الإصدار 2.29.0 في Git . على الأرجح ، لا يستحق الأمر في Habré معرفة ما هو عليه ، لأن Git لا يزال أحد أفضل الأنظمة.
يحتوي الإصدار الجديد على 627 تغييرًا دفعة واحدة ، والتي تم إجراؤها بواسطة 89 مطورًا. نتحدث عن التغييرات والتحسينات الرئيسية في ظل الخفض.
- SHA-256 SHA-1 . Git . . , SHA-1 , Git . SHA3-256, SHA2-256, SHA2 Git . , , . , , - — .
- أضاف Git الآن القدرة على تضمين تنسيق كائن جديد عند إنشاء مستودع:
$ git init --object-format=sha256 repo
Initialized empty Git repository in /home/ttaylorr/repo/.git/
$ cd repo
$ echo 'Hello, SHA-256!' >README.md
$ git add README.md
$ git commit -m "README.md: initial commit"
[master (root-commit) 6e92961] README.md: initial commit
1 file changed, 1 insertion(+)
create mode 100644 README.md
$ git rev-parse HEAD
6e929619da9d82c78dd854dfe237c61cbad9e95148c1849b1f96ada5ee800810
يمكنك فقط الاختيار بين SHA-1 و SHA-256 ، ولا توجد إمكانية لدمج تجزئات مختلفة في مستودع واحد.
- يدعم الأمران git fetch و git push الآن مواصفات الارتباط الاستثنائي التي توسع قواعد مطابقة الارتباط بين الفروع في المستودعات المحلية والخارجية. ستكون هذه الميزة مفيدة في المواقف التي لا تحتاج فيها فقط إلى تحديد بعض الفروع ، ولكن أيضًا استبعادها من التعيين. لذلك ، عندما تحتاج إلى التحقق من جميع فروع "refs / heads / *" ، باستثناء "refs / heads / ref-to -lusion" ، قبل أن تضطر إلى تحديد القائمة الكاملة باستخدام هذا البرنامج النصي:
$ git ls-remote origin 'refs/heads/*' |
grep -v ref-to-exclude |
awk '{ print $2:$2 }' |
xargs git fetch origin
- الآن هناك استثناء عامل "^". تقبل التعبيرات باستخدام عامل التشغيل هذا القوالب ، لكن لا يمكنها الإشارة إلى معرفات الكائنات. قد يبدو الأمر الذي يستخدم المعامل الجديد كما يلي:
$ git fetch origin 'refs/heads/*:refs/heads/*' ^refs/heads/ref-to-exclude
بالإضافة إلى ذلك ، يمكنك استخدام الاستثناءات في الإعدادات:
$ git config --add remote.origin.fetch ^refs/heads/foo
- يمتلك "git shortlog" الآن القدرة على تجميع الالتزامات حسب محتوى الحقول الإضافية ، "تمت المراجعة بواسطة:" و "تم التاليف المشترك بواسطة:" ، وليس فقط بواسطة المؤلف أو الملتزم. لذلك إذا كنت بحاجة إلى عرض قائمة بالمطورين الأكثر نشاطًا في المراجعة ، فأنت بحاجة إلى أمر:
$ git shortlog -ns --group=trailer:reviewed-by v2.28.0.. | head -n5
40 Eric Sunshine
10 Taylor Blau
4 brian m. carlson
2 Elijah Newren
1 Jeff King
- يمكن تحديد عبارات المجموعات المتعددة عند بدء التشغيل واستخدام خيار التنسيق. لذا ، لتتبع المؤلفين المشاركين أو المساهمين ، تحتاج الآن إلى تحديد ما يلي:
$ git shortlog -ns --group=author --group=trailer:co-authored-by
$ git shortlog --format="...helped %an on %as" --group=trailer:helped-by v2.28.0..v2.29.0
- في حالة حدوث تعارض أثناء عملية دمج git ، يتم الآن وضع رأس رسالة الالتزام بين قوسين لفصل البيانات صراحة عن الالتزام من رسائل تشخيص Git.
- أعاد المطورون الإصدار الثاني من بروتوكول الاتصال Git ، والذي تم تعطيله في الإصدار 2.27. وبالتالي ، تم إصلاح الخلل الذي أدى إلى مشاكل الاستقرار.
- تمت إضافة خيار "--first-parent" إلى الأمر git bisect ، والذي يستخدم للكشف عن مراجعة ، لتغيير اختيار عمليات الإيداع بين مراجعة العمل المعروفة والمراجعة التي حدثت فيها المشكلة.
يمكنك مشاهدة جميع الابتكارات هنا .
