Git 2.39 د سرچینې کنټرول خوشې کول

د دوه میاشتو پراختیا وروسته ، د توزیع شوي سرچینې کنټرول سیسټم Git 2.39 خپور شو. Git یو له خورا مشهور ، معتبر او لوړ فعالیت نسخه کنټرول سیسټمونو څخه دی ، د شاخ کولو او ادغام پراساس انعطاف وړ غیر خطي پراختیا وسیلې چمتو کوي. د تاریخ بشپړتیا او د متقابل بدلونونو مقاومت تضمین کولو لپاره ، د ټول تیر تاریخ ضمیمه هش کول په هر ژمنې کې کارول کیږي؛ دا هم امکان لري چې د انفرادي ټاګونو تصدیق وکړئ او د پراختیا کونکو ډیجیټل لاسلیکونو سره ژمنې وکړئ.

د تیرې خپرونې په پرتله، نوې نسخه کې 483 بدلونونه شامل دي، چې د 86 پراختیا کونکو ګډون سره چمتو شوي، چې 31 یې د لومړي ځل لپاره په پراختیا کې برخه اخیستې. اصلي نوښتونه:

  • د "ګیټ شارټ لاګ" کمانډ ، د بدلونونو له تاریخ څخه د احصایو سره لنډیز ښودلو لپاره ټاکل شوی ، د ساحو لخوا د ژمنو په خپل سري ګروپ کولو لپاره د "-ګروپ" اختیار اضافه کړی چې لیکوال یا ژمن پورې محدود ندي. د مثال په توګه ، د بدلونونو شمیر په اړه معلوماتو سره د پراختیا کونکو لیست ښودلو لپاره ، د "همغږي لیکوال لخوا" ساحه کې ذکر شوي مرسته کونکو ته په پام سره ، تاسو کولی شئ کمانډ وکاروئ: git shortlog -ns --group=author - - ګروپ = ټریلر: شریک لیکوال

    د شارټ لاګ محصول د فارمیټینګ مشخص کونکو په کارولو سره راټول کیدی شي ، او د "-- ګروپ" اختیار کولی شي د پیچلي راپورونو رامینځته کول خورا ساده کړي او د اضافي ترتیب کولو امرونو اړتیا له مینځه ویسي. د مثال په توګه، د دې معلوماتو سره د راپور جوړولو لپاره چې په هره میاشت کې د ورکړل شوي خوشې کولو لپاره څومره ژمنې منل شوي، تاسو کولی شئ مشخص کړئ: git shortlog v2.38.0.. -date='format:%Y-%m' -group=' %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 مخکې، د ورته عملیاتو د ترسره کولو لپاره به د ترتیب او یونیک اسانتیاو کارولو ته اړتیا وه: git log v2.38.0. .. —تاریخ='فارمټ:%Y -%m' —فارمټ='%cd' | ترتیب | uniq -c

  • د "کرفټ پیک" میکانیزم وړتیاوې، د لاس رسي وړ شیانو بسته کولو لپاره ډیزاین شوي چې په ذخیره کې ندي حواله شوي (د څانګو یا ټاګونو لخوا ندي راجع شوي) ، پراخه شوي. د لاسرسي وړ شیان د کثافاتو راټولونکي لخوا حذف کیږي ، مګر د ریس شرایطو څخه مخنیوي لپاره د حذف کیدو دمخه د ټاکلي وخت لپاره په ذخیره کې پاتې کیږي. د "کرفټ پیک" میکانیزم تاسو ته اجازه درکوي چې ټول د لاسرسي وړ توکي په یوه پیک فایل کې ذخیره کړئ، او د هر شی د ترمیم وخت په اړه ډاټا په جلا جدول کې ښکاره کړئ، په جلا فایل کې د ".mtimes" توسیع سره زیرمه شوي، ترڅو دوی ترسره کړي. د ټول ترمیم وخت سره نه تیریږي.

    د وخت اوږدوالی چې د لاسرسي وړ شیان په ذخیره کې پاتې کیږي مخکې لدې چې دوی واقعیا حذف شي د "—prune=" اختیار لخوا ټاکل کیږي. " په هرصورت، پداسې حال کې چې د ړنګولو دمخه ځنډول د نسل شرایطو له امله د ذخیره کولو فساد مخنیوي لپاره خورا مؤثره او عملي لاره ده، دا 100٪ د اعتبار وړ ندي. د دې لپاره چې د خراب شوي ذخیره بیا رغونه اسانه کړي، نوې ریلیز د "ګیټ ریپیک" کمانډ کې د "-expire-to" اختیار اضافه کولو سره د ورک شوي شیانو د خوندي کولو وړتیا چمتو کوي، کوم چې تاسو ته اجازه درکوي د بهرنۍ جوړولو لپاره فایل مشخص کړئ. د ټولو حذف شوي شیانو کاپي. د مثال په توګه، د لاسرسي وړ شیانو خوندي کولو لپاره چې په تیرو 5 دقیقو کې په backup.git فایل کې ندي بدل شوي، تاسو کولی شئ دا کمانډ وکاروئ: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -to=../backup.git

  • د پام وړ زیاتوالی (تر 70٪ پورې) د "git grep -cached" عملیاتو سرعت کله چې په هغو ساحو کې لټون کوي ​​​​چې جزوی کلونینګ کاروي (سپارس چیک آوټ) او د کوم لپاره چې جزوي شاخصونه شتون لري (سپیر انډیکس). مخکې، کله چې د "-cached" اختیار مشخص کول، لټون لومړی په منظم شاخص کې ترسره کیده، او بیا په جزوي توګه، کوم چې په لویو زیرمو کې د لټون کولو په وخت کې د پام وړ ځنډ لامل شوی.
  • د سرور لخوا د نوي شیانو د همغږۍ تصدیق مخکې له دې چې دوی د "ګیټ پش" عملیاتو په جریان کې په ذخیره کې ځای په ځای شي ګړندی شوی. د چیک کولو پرمهال یوازې اعلان شوي لینکونو لپاره حساب ورکولو ته په تګ سره ، د ازموینې ذخیره کې د 7 ملیون لینکونو سره ، چې یوازې 3٪ یې د فشار عملیاتو لخوا پوښل شوي ، معرفي شوي اصلاح دا امکان رامینځته کړی چې د چیک کولو وخت 4.5 ځله کم کړي.
  • په کوډ کې د احتمالي بشپړیدو څخه د ساتنې لپاره ، د "git apply" کمانډ د پیچونو اعظمي اندازه محدودوي چې پروسس کیدی شي. که د پیچ ​​اندازه د 1 GB څخه زیاته وي، اوس به یوه تېروتنه ښکاره شي.
  • د احتمالي زیانونو په وړاندې د ساتنې لپاره، د H2h3 ماډل د GIT_TRACE_CURL=1 یا GIT_CURL_VERBOSE=1 اختیار سره د HTTP/2 سره یوځای کارولو په وخت کې د سرلیکونو څخه غیر ضروري معلوماتو پاکولو لپاره بدلونونه رامینځته شوي.
  • کله چې په یوې څانګې کې د چیک آوټ ترسره کول چې د بلې څانګې سره سمبولیک اړیکه ده، د "git سمبولیک-ref HEAD" کمانډ اوس د نښه شوي څانګې نوم د سیمال نوم پر ځای ښکاره کوي.
  • د @{-1} دلیل لپاره د "--edit-description" اختیار ("git branch —edit-description @{-1}") لپاره د پخوانۍ څانګې توضیحات سمولو لپاره ملاتړ اضافه شوی.
  • د معیاري ان پټ له لارې د پیرامیټونو لیست تیرولو لپاره د "git merge-tree --stdin" کمانډ اضافه شوی.
  • د شبکې فایل سیسټمونو کې، د fsmonitor هینډلر، چې د فایل سیسټم بدلونونه څاري، د ډیفالټ لخوا غیر فعال دی.

سرچینه: opennet.ru

Add a comment