د توزیع شوي سرچینې کنټرول سیسټم خوشې کول Git 2.22

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

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

  • د 1.18 خوشې کیدو راهیسې شتون لري ، د نوي ژمنې ریبیس حالت "git rebase --rebase-merges" د زاړه "--preserve-merges" اختیار ځای په ځای کوي ، کوم چې اوس له مینځه وړل شوی. د "ګیټ ریبیس" عملیات د نوي بیس ژمنې سره د ژمنو لړۍ بدلولو لپاره کارول کیږي ، د مثال په توګه ، د جلا څانګې حرکت کول چې د ماسټر برانچ اوسني حالت ته ځینې نوې ب featuresې رامینځته کوي ، چې پکې د څانګې وروسته اضافه شوي اصلاحات شامل دي. :

    o - o - o (زما ځانګړتیا)

    /

    o - o - o - o - o ( ماسټر)

    o - o - o (زما ځانګړتیا)

    /

    o - o - o - o - o ( ماسټر)

    په مهاجرت شوي څانګه کې د څانګې جوړښت ساتلو لپاره، د "-محفوظ-مضمون" اختیار مخکې کارول کیدی شي، کوم چې کله چې په متقابل حالت کې پرمخ ځي (git rebase -i --preserve-merges)، د ژمنې تاریخ ایډیټ کولو ته اجازه ورکوي، مګر د ذخیره جوړښت بشپړ ساتنه تضمین نه کوي. نوی "--rebase-merges" موډ تاسو ته اجازه درکوي په څانګه کې د مهاجرت بدلونونو جوړښت وساتئ، پداسې حال کې چې د متقابل عملونو بشپړ لړۍ چمتو کوي، په شمول د ړنګولو، بیا تنظیم کولو او نوم بدلول.

    د مثال په توګه، "-rebase-merges" دا اجازه ورکوي د جلا څانګې څخه نوي ماسټر څانګې ته ژمنې بیا اپلوډ کړئ ، پداسې حال کې چې په مهاجر شوي څانګه کې د څانګې جوړښت ساتي ، او په الوتنه کې د ژمنې یادداشتونو کې ځینې بدلونونه رامینځته کوي.

  • د دوه نورو څانګو د ادغام اساس ټاکلو په پایله کې د نوې څانګې رامینځته کولو لپاره ملاتړ اضافه شوی (د ادغام اساس ، د ګډ پلار سره تړلی) د جوړښتونو په کارولو سره د "ګیټ برانچ نوي A...B" او "git checkout -b new A...B"، په کوم کې چې "A ...B" د دوه مشخصو ژمنو ترمنځ د ادغام اساس تعریف کول شامل دي، ورته ورته چې څنګه "git checkout A...B" سر د اساس ژمنې او "تفاوت A ته واړوي. ..B" د ژمنې "B" او ورته د ژمنې "A" "پلار تر مینځ بدلونونه ښیې.

    د مثال په توګه، کله چې په جلا زما-فیچر څانګه کې کار کول، دا فیچر کارول کیدی شي کله چې تاسو غواړئ د بلې څانګې څخه پیل کړئ، د بیلګې په توګه، په ماسټر برانچ کې د ورته ځای څخه چې زما فیچر څانګه چک شوې وه. پخوا، دې ته اړتیا وه چې په لاسي ډول د بدلون لاګ معاینه کړي، کوم چې ناشونی و که تاسو د بدلونونو لوی تاریخ ولرئ، نو د ماسټر او ما فیچر څانګو ترمنځ د انضمام بیس هش محاسبه کولو لپاره "git merge-base master my-feature" چلول. او د مشترک پلر په تړاو یوه نوې څانګه رامینځته کول "د ګیټ برانچ زما-نور فیچر هش." په Git 2.22 کې، تاسو کولی شئ د "git branch my-other-feature A...B" ترکیب وکاروئ ترڅو د دوه نورو څانګو د ادغام اساس پورې اړوند څانګه جوړه کړئ؛

  • د چیک آوټ عملیاتو په جریان کې د ترلاسه شوي څانګې نوم ښودلو لپاره د "git branch --show-current" اختیار اضافه شوی؛
  • د "git checkout —no-overlay — dir" اختیار اضافه شوی، کوم چې اجازه ورکوي، کله چې د چیک آوټ عملیات ترسره کوي، د dir ډایرکټر مینځپانګې داسې بڼې ته راوړي چې په بشپړ ډول د ماسټر څانګې حالت سره مطابقت لري. د مثال په توګه ، که چیرې د dir ډایرکټر ځایی کاپي کې فایل شتون ولري چې په ماسټر برانچ کې نه وي ، نو د ډیفالټ په واسطه کله چې د "git checkout master - dir" اجرا کول به پاتې شي ، او که "--no-overlay" " اختیار مشخص شوی، دا به حذف شي؛
  • د "git diff" کمانډ د انتخابونو د پارس کولو لپاره یو نړیوال API کاروي، کوم چې دا امکان ورکوي چې د نورو git اسانتیاوو سره د اختیار اداره کول متحد کړي. د مثال په توګه، په "git diff" کې، ټول اختیارونه اوس خپل مخالفان لري ("--function-context" او "--no-function-context")؛
  • د "ګیټ لاګ" محصول ("ټریلر" - د اضافي معلوماتو بیرغونه ، لکه لاسلیک شوی او د شریک لیکوال لخوا) کې د ژمنو سره وصل شوي پراخه ټاګونو فلټر کولو وړتیا اضافه کړه. دا ممکنه ده چې لیبلونه د کلیدي او ارزښت دواړو له مخې فلټر کړئ، د بیلګې په توګه:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • یو نوی ټریسنګ انجن، Trace2، اضافه شوی، د ډیر انعطاف وړ او جوړښت شوي محصول بڼه وړاندې کوي. Trace2 تاسو ته اجازه درکوي د نورو مفصلو تحلیلونو او ډیبګ کولو لپاره د اجرا شوي عملیاتو او فعالیت ډیټا په اړه ټیلی میټري راټول کړئ (د کارونکي لخوا هینډلر ټاکل شوی ، هیڅ معلومات بهر نه لیږل کیږي)؛
  • د "ګیټ بایسکټ" راپور ډیر د لوستلو وړ شوی ، په کوم کې چې ستونزې لرونکي ژمنې اوس په روښانه ډول روښانه شوي او د هرې فایل لپاره د بدلونونو لنډیز احصایې ښودل شوي (د بدل شوي لینونو شمیر په کچه)؛
  • د ډایرکټر د نوم بدلولو ټاکلو لپاره هیوریسټیک بیا کار شوی ترڅو د نوم بدلولو لیبلونو غلط نصب له مینځه ویسي. کله چې په شک کې وي، دا ډول لارښوونې اوس د شخړو په توګه په نښه شوي؛
  • یو خبرداری څرګندیږي کله چې تاسو په بل ټاګ کې د ټاګ نصبولو هڅه کوئ ، کوم چې معمولا په غلطۍ ترسره کیږي او کولی شي په غلط ژمنې کې د ټاګ تنظیم کولو لامل شي (د مثال په توګه ، د "ګیټ ټګ -f -m" تازه شوي پیغام" په څیر جوړښت my-tag1 my-tag2″ په پایله کې به په زاړه ټاګ کې ټاګ رامینځته شي ، پداسې حال کې چې پراختیا کونکي تمه درلوده چې نوی ټاګ به د زاړه ټاګ لخوا په ګوته شوي ژمنې کې نصب شي؛
  • نسل د بټ میپ ذخیره کولو لپاره فعال شوی (د ډیسک پراساس "د لاسرسي بټ میپس" جوړښت) ، کوم چې د هرې ژمنې لپاره د موجودو شیانو سیټونو په اړه ډیټا ذخیره کوي او تاسو ته اجازه درکوي په چټکۍ سره د اساس اعتراض شتون وټاکئ. دا جوړښت د پام وړ د معلوماتو د ترلاسه کولو عملیاتو اجرا کولو وخت کموي (git fetch).

سرچینه: opennet.ru

Add a comment