աչքուղիների նախնական կառավարիչ համակարգերի արձակումը . 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» գործողությունները կատարվում են պատմության ներկայացման վրա՝ որպես շարունակական հոսք:
Պատմության ֆիլտրումը կատարվում է «-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 մշակողները նախագծի մասնակցի վարքի կոդ, որը սահմանում է հակասական իրավիճակների լուծման հիմնական սկզբունքները: Նշված փաստաթուղթը հիմնված է ««, օգտագործվող բազմաթիվ բաց նախագծերում, այդ թվում՝ Linux-ի կոր, Eclipse, Freedesktop, GitLab, Ruby և Kubernetes: Նյութը սահմանում է բոլոր մասնակիցների համար հավասար հնարավորություններ, անկախ նրանց աշխարհայացքից, տարիքից, սեռից, կրոնական նախասիրություններից, կրթության մակարդակից, սոցիալական կարգավիճակից և ազգությունից: Համայնքում ընդունվում է բարեկամական հաղորդակցության ձև, այլ մասնակիցների խնդիրներին համակրանք, կառուցողական քննադատության ընդունում, համայնքի համար լավագույն լուծումների ընդունում: Չափազանցություն, վիրավորանքի ձևավորված հաղորդակցություն, վարկաբեկող փորձեր, հալածանք, անձնական կյանքի խախտումներ, անձնական տվյալների բացահայտում, ինչպես նաև այլ գործողություններ, որոնք կարող են համարվել անբարեհասկացած մասնագիտական հաղորդակցման ժամանակ, արգելվում են.
Ընտանիք: opennet.ru
