Git 2.25 խաղերի աղբյուրների համագործակցային համակարգի թողարկում

Հասանելի է աչքուղիների նախնական կառավարիչ համակարգերի արձակումը Git 2.25.0. Git-ը ամենահայտնի, վստահելի և բարձր արտադրողականությամբ տարբերակների կառավարման համակարգերից մեկն է, որը տրամադրում է ճկուն միջոցներ ոչ գծային զարգացման համար, հիմնված բաշխումներից և ճյուղերի միավորումից: Չխախտելու պատմության ամբողջականությունը և փոփոխություններին դիմադրելու համար "հետադարձ հաշվարկ" է կիրառվում, ծառայելով նախորդ պատմության ողջ պատմությունը յուրաքանչյուր կոմիտեում, մշակողների կողմից որոշակի նշումներին և կոմիտեներին թվային ստորագրություններով վավերացման հնարավորությունը մատուցելու համար:

Կրկին, նախորդ թողարկման համեմատ, նոր տարբերակն ընդունել է 583 փոփոխություններ, որոնք պատրաստվել են 84 ծրագրային մշակողների մասնակցությամբ, որոնցից 32-ը առաջին անգամ են մասնակցել զարգացման գործընթացին: Հիմնական նորություններ:

  • Մերձվում է կայունացման և լիարժեք պատրաստակամության փուլին մասնակի համադրելու հնարավորությունը (partial clones), որը թույլ է տալիս տեղափոխել միայն տվյալների որոշ մասը և աշխատել ոչ լրիվ սրբագրման ներդրմամբ: Տիպիկ համադրելու ժամանակ բոլոր տվյալները հավելվում են, ներառյալ փոփոխությունների պատմությունից յուրաքանչյուր ֆայլի ամեն մի վարկածը: Շատ մեծ ներդրումների համար տվյալների համնախմբումը կարող է նշանակալի ավելացնել տրանսֆերտը և սկավառակի տարածությունը, նույնիսկ եթե ծրագրավորողը հետաքրքրված է միայն որոշակի ֆայլերի ենթախմբերով: Հնարավորությունը, որը թույլ է տալիս ստանալ միայն աշխատանքի առանձին բաժինը, նոր թողարկման ժամանակ առաջարկվել է "sparse-checkout" փորձարկային հրամանը և "—sparse" նոր տարբերակը "clone" հրամանի համար:

    Նախկինում մասնակի համադրումը կատարվում էր " ֆիլտրերի գործի մեջ մտնել, որը թույլ տվեց հեռուստատեսային պարունակությունը բաց թողնել, և "—no-checkout" տարբերակը, որը անջատում էր անհատական ֆայլերի լրացումը: Դրանից հետո, առաջիկա checkout գործողությունը կատարելուց առաջ, անհրաժեշտ է ավելացնել core.sparseCheckout կարգավորումը և որոշել .git/info/sparse-checkout ֆայլում բացառվող ուղիների ցանկը: Օրինակ, բլոբները չհակարգելագործելու և 2 խորքում գտնվող ենթադիտահասցեներից ֆայլեր դուրս հանելու արգելելու համար, կարող է կատարվել:

    git clone —filter=blob:none —no-checkout /your/repository/here repo
    $ cd repo
    $ cat <.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git checkout .

    Նոր "git sparse-checkout" հրամանը նշանակալիորեն հեշտացնում է աշխատանքը և նվազեցնում է մասնակի ներդրմամբ աշխատանք կատարելու գործընթացը հրամաններին:

    git clone —filter=blob:none —sparse /your/repository/here repo
    git sparse-checkout set /path/to/check/out

    Sparse-checkout հրամանը թույլ է տալիս սահմանել checkout-ի ուղիների ցանկը (set) առանց ձեռքով կարգավորումն անելու .git/info/sparse-checkout-ում, ինչպես նաև ցույց տալ ներկայիս ուղիների ցանկը (list) և ակտիվացնել կամ անջատել մասնակի checkout-ն (enable/disable):

    Որոշակի խոշոր ներդրումների և շաղկապման ցանկերի հետ աշխատանքի օպտիմալացման համար առաջարկվել է "git config core.sparseCheckoutCone«, սահմանափակում կատարող նմուշներ (մանկապատկերը ամենատարբեր .gitignore նմուշներից առանձնացնելու արտաքին ճանապարհները և ֆայլերը): Օրինակ, եթե մեծ համեմատություն ունի «A/B/C» և ողջ աշխատանքի կենտրոնացումը «C» ենթագոտում է, ապա sparseCheckoutCone ռեժիմմի ակտիվացումով команда «git sparse-checkout set A/B/C» ամբողջությամբ դուրս կբերի «C»-ի բովանդակությունը, սակայն «A»-ից և «B»-ից հարկավոր է միայն «C» դիմաց հասու մասերը դուրս բերել:

  • Աղյուսակման («git rebase -h») փաստաթղթից հանվել է «—preserve-merges» տարբերակը, որը հայտարարել է հինացած ու փոխարինելու համար պետք է օգտագործել «git rebase —rebase-merges«.
  • Խմբագրական տես գործածումն ավելի ընթեռնելի դարձնելու համար, որը ուղարկվում է փոստային ցուցակներում, ավելացվել է տարբերակ «git format-patch —cover-from-description subject», քանի որ դա որպես նամակի ծածկագիր օգտագործում է հետևյալը տեքստի առաջին տարրից:
  • Սահմանափակումն գեղեցկացնելով «git apply —3way» և «merge.conflictStyle» կարգավորումը՝ միևնույն ժամանակ նախատեսում է, որ «git apply» այժմ հաշվի է առնում համապատասխան հաղորդագրությունները, որոնք հիմնվում են merge.conflictStyle-ում:
  • Ֆունկցիաների սահմանման կոդը, որն օգտագործվում է նման գործողություններում, ինչպիսիք են «git diff/grep —show-function/—function-context», ընդլայնվել է ֆունկցիաների սահմանագծերի մասին տեղեկությունների աջակցությամբ ծրագրերում՝ Elixir.
  • «git add», «git commit», «git reset» և այլ գործողություններ ավելացվել է նոր «—pathspec-from-file» տարբերակը, որը հնարավորություն է տալիս ներբեռնել ճանապարների ցուցակը ֆայլից կամ մուտքային հոսքից, այլ ոչ թե դրանք ցանկում թվարկել հրամանային տողում:
  • Հնարավորություն է ընձեռնվել վերային անվանումների որոշման հարցում դյուրացնելու մասին, այդ թվում՝ փոփոխյալների տեղադրման նմանությունների հարցում, կրկին տարբերակն իրագործող:
  • Առաջարկվել է վերադառնալ «git add -i» առաջարկի պատրաստման արժեքը, որը հնարավոր է փոխել փոփոխվածում տիրարկման ռեժիմում, որը վերափոխվել է Perl-ից C:
  • «git log —graph» հրամանի վերաբովանդակումը, առաջացնող ASCII-ով արտածված փոփոխությունների պատմությունը: Վերագործումը թույլ տալիս է զգալիորեն բարելավել և պարզեցնել ցուցադրումը՝ առանց վնասելու պատմության կառուցվածքը:
  • «git log —format=..» տարբերակը, որը թույլ է տալիս փոխել արտածման ձևը:
    լայնացվել է «l/L» դրոշbannerների աջակցությամբ, ինչը թույլ է տալիս արտահայտությունը ունենալ միայն էլեկտորային հասցեի մասերը, որոնք նշում են «@» սիմվոլից առաջ (օրինակ, դա օգտակար է, երբ բոլոր մշակողները նույն դոմենի բոլոր էլ. փոստերը ունեն):
  • «git submodule» հրամանին ավելացվել է ենթահրամանի «set-url».
  • Թեստային հավաքները թարմացվել են՝ պատրաստվելով անցնելու ոլորտի վրա:
    SHA-2 նմուշի էլի անգամ ճանապարողը փոխելու համար փոխելու «SHA-1».

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster