Git 2.24 վարկածի թողարկում՝ կարգավորիչ հետագծման համակարգի համար;

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

Նոր տարբերակում իրականացվել է 544 փոփոխություն, որոնցում մասնակցել է 78 ծրագրավորող, որոնցից 21-ը առաջին անգամ մասնակցել են զարգացմանն. Հիմնական նորություններ:

  • Ավելացվել է կարգավորողական մաքրոսներ, որոնց միջոցով կարելի է արագ անցում կատարել տարբեր կարգավորումների խմբերի միջև, առանց նրանց համապատասխան տարբերակի մանրամասներին ծանոթանալու: Մաքրոսների օգնությամբ այլևս անհրաժեշտ չէ հիշել, թե որ կարգավորումները պետք է փոխվեն որոշակի գործառույթը ակտիվացնելու համար: Օրինակ, մեծ ռեպոզիտորիումի հետ աշխատանքի դանդաղեցման դեպքում կարող է անհրաժեշտ լինել անցնել նոր ինդեքսավորման մեխանիզմի, ակտիվացնել ճանապարհների նախքաննուների սեղմումը և օգտագործել չմշակվող ֆայլերի քեշը, կարգավորելով index.version-ը 4 արժեքի և ակտիվացնելով core.untrackedCache-ը: Մաքրոսները թույլ են տալիս ժամանակ չծախսել անհրաժեշտ լուծման որոնման վրա փաստաթղթում, այլ անմիջապես ակտիվացնել կարգավորումները մեծ ֆայլերի քանակով ռեպոզիտորիաների համար:

    git config feature.manyFiles true

  • Երբեք նախկինում ոչ-հավասար վիճակի ծագումը, գործիք առումով այն նախատեսված է կազմակերպել commit-graph-ում: Այս պարագայում, որտեղ պայմանավորված է ծրագրերի հիերարխիկ գրանցման կառուցվածքը, այլ ոչ թե օբեկտների հին ցանկերից մեկն որ ծրագրերի շարքից: Եթե նախկինում անփոխելու համար համասնյությունները, որոնք դուք կարող եք հաշմանդամ լինել օբեկտները ՀՄՏ-ի ներբեռնումը, ապա գրանցման կառույցում կարելի է անմիջապես ուսումնասիրվածը: Git-ի եւ Linux-ի միջուկի ռեպոզիտորիաներում commit-graph-ի պահելու գրաֆի ընթացքը հնարավորություն ստացան մոտ 2 անգամ ավելացնել կատարման արագությունը: Նոր պահելու մեթոդի ակտիվացման համար կարող են կատարել 'git gc' հրամանը:

    Commit-graph-ի հետ կապված փոփոխություններից նկարագրվում է այլ հրամանների միջև համակցված գործընթացը: 'git commit-graph write', 'git commit-graph verify' և այլն: Փոխիցին պահման ցուցիչը այժմ ըստ նախնական վիճակի վերաբերվում է միայն տերմինալին (վստահության վարույթի փոփոխման համար օգտագործեք '-[no-]progress' տարբերակը): Բացի այդ, ավելացվել է նոր կարգավորողական պարամետր fetch.writeCommitGraph, որը ավտոմատ կերպով թարմացնում է commit-graph-ի ֆայլը 'git fetch' գործողությունների ժամանակ (բոլորը արտաքին ռեպոզիտորներից ստացված կոդերը անմիջապես մուտք է գործելու commit-graph, առանց auto-gc-ի առանձին մեկնարկման կարիք):

  • Ավելացվել է փոփոխությունների պատմությունը վերագրելու համար հրամանը - 'git filter-repo«, որն ավելի հեշտ բարելավված տարբերակն է 'git filter-branch» գործողությունները կատարելու համար պորտֆելների պատմություն վերափոխման մեջ (օրինակ, ֆայլը ջնջելու կամ որոշակի կատալոգի պատմությունը հանելու համար): Ավելի արդյունավետության համար՝ սորտավորված կոմիտների վերլուծության փոխարեն, «git filter-repo» գործողությունները կատարվում են պատմության ներկայացման վրա՝ որպես շարունակական հոսք:

    Պատմության ֆիլտրումը կատարվում է «-path-{glob,regex}» ընտրանքով, որը թույլ է տալիս կիրառել ինչպես պարզ մոդելներ, այնպես էլ կանոնավոր արտահայտություններ: Ավելին, կան ընտրանքներ «փնտրելու և փոխարինելու» գործողությունների կամ երկակի օբյեկտների մաքրում կատարել, որոնք գերազանցում են սահմանված չափը: Յուրաքանչյուր վերաշարադրված կոմիտը գալիս է նոր SHA-1 հեշ խմբագրահանով, և համապատասխան նոր խմբագրվածի հիման վրա արդիականացվում են բոլոր հղումները:

    Պորտֆելի մասին վիճակագրական ամփոփման արտանշման (կառուցվածքների քանակ տեսակների և այլոց, ամենամեծ ֆայլերի ու կատալոգների, որոնք պահանջում են առավել տարածք քաղաքում և այլն) համար նախատեսված է «-analyze» ընտրանքը: Ապահովելու համար հնարավորությունների ընդլայնումը հնարավոր է միացնել պատահական callback-պրոցեսորներ Python լեզվով, որոնց միջոցով կարելի է ինչպես ստեղծել նոր ենթախնդիրներ, այնպես էլ մշակել տարբեր իրադարձություններ (օրինակ, նոր ֆայլերի տեսակներ):

  • Ավելացված է «—end-of-options» ընտրանքը, որը թույլ է տալիս բաժանել ընտրանքները հղումների անուններից, որոնք կարող են սկսել «-» նիշով և ընկալվել որպես ընտրանքներ («git log —end-of-options —super-dangerous-option»): Եթե նման անունները կարելի է էկրանավորել՝ որպես «git log ‘refs/heads/—super-dangerous-option'», ապա սցենարներում կարող են առաջանալ դժվարություններ անվան տարածքը սահմանելու հետ: Ընդհանուր ընդունված բաժանումը » — » այստեղ կիրառելի չէ, քանի որ արդեն օգտագործվում է հղումների անունները ֆայլերից բաժանելու համար (օրինակ՝ «git log —end-of-options —super-dangerous-option ^master — path/to/file»):
  • «git rebase —rebase-merges» ավելացվել են «—strategy» և «—strategy-option» ընտրանքները՝ ընտրելու միավորման ռազմավարություն;
  • Ավելացվեց նոր պրոցեսոր «.git/hooks/pre-merge-commit», որը կոչվում է մունբանից հետո, բայց հաշվառված արդյունակոմիտը գրելուց առաջ:
  • Հանձնարարման ավտոմատ լրացման շարժիչին ավելացվել է աջակցություն կոնֆիգուրացիոն փոփոխականների լրացմանը, կապված հատուկ հրամանների կարգավորումներին:
    Օրինակ, եթե անհրաժեշտ է գրել «git -c core.autocrlf=false add path/to/my/file», բայց չհիշելով «core.autocrlf» փոփոխականի ճշգրիտ անվանումը, կարելի է սեղմել Tab և ստանալ ցուցում:

Ավելին, Git մշակողները ավելացրել են նախագծի մասնակցի վարքի կոդ, որը սահմանում է հակասական իրավիճակների լուծման հիմնական սկզբունքները: Նշված փաստաթուղթը հիմնված է «Contributor Covenant«, օգտագործվող բազմաթիվ բաց նախագծերում, այդ թվում՝ Linux-ի կոր, Eclipse, Freedesktop, GitLab, Ruby և Kubernetes: Նյութը սահմանում է բոլոր մասնակիցների համար հավասար հնարավորություններ, անկախ նրանց աշխարհայացքից, տարիքից, սեռից, կրոնական նախասիրություններից, կրթության մակարդակից, սոցիալական կարգավիճակից և ազգությունից: Համայնքում ընդունվում է բարեկամական հաղորդակցության ձև, այլ մասնակիցների խնդիրներին համակրանք, կառուցողական քննադատության ընդունում, համայնքի համար լավագույն լուծումների ընդունում: Չափազանցություն, վիրավորանքի ձևավորված հաղորդակցություն, վարկաբեկող փորձեր, հալածանք, անձնական կյանքի խախտումներ, անձնական տվյալների բացահայտում, ինչպես նաև այլ գործողություններ, որոնք կարող են համարվել անբարեհասկացած մասնագիտական հաղորդակցման ժամանակ, արգելվում են.

Ընտանիք: opennet.ru

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