աչքուղիների նախնական կառավարիչ համակարգերի արձակումը . 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/outSparse-checkout հրամանը թույլ է տալիս սահմանել checkout-ի ուղիների ցանկը (set) առանց ձեռքով կարգավորումն անելու .git/info/sparse-checkout-ում, ինչպես նաև ցույց տալ ներկայիս ուղիների ցանկը (list) և ակտիվացնել կամ անջատել մասնակի checkout-ն (enable/disable):
Որոշակի խոշոր ներդրումների և շաղկապման ցանկերի հետ աշխատանքի օպտիմալացման համար առաջարկվել է "«, սահմանափակում կատարող նմուշներ (մանկապատկերը ամենատարբեր .gitignore նմուշներից առանձնացնելու արտաքին ճանապարհները և ֆայլերը): Օրինակ, եթե մեծ համեմատություն ունի «A/B/C» և ողջ աշխատանքի կենտրոնացումը «C» ենթագոտում է, ապա sparseCheckoutCone ռեժիմմի ակտիվացումով команда «git sparse-checkout set A/B/C» ամբողջությամբ դուրս կբերի «C»-ի բովանդակությունը, սակայն «A»-ից և «B»-ից հարկավոր է միայն «C» դիմաց հասու մասերը դուրս բերել:
- Աղյուսակման («git rebase -h») փաստաթղթից հանվել է «—preserve-merges» տարբերակը, որը հայտարարել է հինացած ու փոխարինելու համար պետք է օգտագործել ««.
- Խմբագրական տես գործածումն ավելի ընթեռնելի դարձնելու համար, որը ուղարկվում է փոստային ցուցակներում, ավելացվել է տարբերակ «git format-patch —cover-from-description subject», քանի որ դա որպես նամակի ծածկագիր օգտագործում է հետևյալը տեքստի առաջին տարրից:
- Սահմանափակումն գեղեցկացնելով «git apply —3way» և «merge.conflictStyle» կարգավորումը՝ միևնույն ժամանակ նախատեսում է, որ «git apply» այժմ հաշվի է առնում համապատասխան հաղորդագրությունները, որոնք հիմնվում են merge.conflictStyle-ում:
- Ֆունկցիաների սահմանման կոդը, որն օգտագործվում է նման գործողություններում, ինչպիսիք են «git diff/grep —show-function/—function-context», ընդլայնվել է ֆունկցիաների սահմանագծերի մասին տեղեկությունների աջակցությամբ ծրագրերում՝ .
- «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
