Git 2.38 աղբյուրի կառավարման թողարկում

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

Նախորդ թողարկման համեմատ՝ նոր տարբերակը ներառում էր 699 փոփոխություն՝ պատրաստված 92 ծրագրավորողների մասնակցությամբ, որոնցից 24-ն առաջին անգամ մասնակցեցին մշակմանը։ Հիմնական նորամուծությունները.

  • Հիմնական կառուցվածքը ներառում է «scalar» կոմունալ ծրագիրը, որը մշակվել է Microsoft-ի կողմից՝ խոշոր պահեստները կառավարելու համար: Ծրագիրը սկզբնապես գրված էր C#-ով, սակայն git-ը ներառում է փոփոխված տարբերակը C-ով: Նոր օգտակար ծրագիրը տարբերվում է git հրամանից՝ լռելյայն միացնելով լրացուցիչ հնարավորություններ և կարգավորումներ, որոնք ազդում են աշխատանքի վրա շատ մեծ պահեստների հետ աշխատելիս: Օրինակ, սկալյար օգտագործելիս այն կիրառվում է.
    • Մասնակի կլոնավորում՝ պահեստարանի թերի պատճենի հետ աշխատելու համար:
    • Ֆայլային համակարգում փոփոխություններին հետևելու ներկառուցված մեխանիզմ (FSMonitor), որը թույլ է տալիս անել առանց փնտրելու ամբողջ աշխատանքային գրացուցակը:
    • Ինդեքսներ, որոնք ծածկում են օբյեկտները տարբեր փաթեթային ֆայլերում (բազմ փաթեթ):
    • commit-graph ֆայլեր՝ commit graph ինդեքսով, որն օգտագործվում է commit տեղեկատվության հասանելիությունը օպտիմալացնելու համար:
    • Ֆոնային պարբերական աշխատանք՝ պահեստի օպտիմալ կառուցվածքը հետին պլանում պահպանելու համար՝ առանց ինտերակտիվ նիստը արգելափակելու (աշխատանքը կատարվում է ժամը մեկ անգամ՝ հեռակա պահոցից թարմ օբյեկտներ ակտիվորեն ներբեռնելու և ֆայլը կոմիտացիոն գրաֆիկով թարմացնելու և փաթեթավորման գործընթացի համար։ պահեստը բացվում է ամեն գիշեր):
    • «sparseCheckoutCone» ռեժիմը, որը սահմանափակում է թույլատրելի օրինաչափությունները մասնակի կլոնավորման ժամանակ:
  • «git rebase» հրամանին ավելացրել է --update-refs տարբերակ՝ կախված ճյուղերը թարմացնելու համար, որոնք համընկնում են տեղափոխվող ճյուղերի հետ, այլ ոչ թե պետք է ձեռքով ստուգել յուրաքանչյուր կախյալ ճյուղ՝ անցնելու պահանջվող commit-ին:
  • «git rm» հրամանը համատեղելի դարձրեց մասնակի ինդեքսների հետ:
  • Բարելավել է «git mv AB» հրամանի վարքագիծը, երբ ֆայլը մասնակի ինդեքսներով աշխատանքային տարածքից «կոն» ռեժիմով տեղափոխելիս արտաքին շրջանակ, որը չունի այս ռեժիմը:
  • Bitmap ֆայլի ձևաչափը օպտիմիզացվել է մեծ պահեստների հետ աշխատելու համար. ավելացվել է ընտրովի ինդեքսային աղյուսակ՝ ընտրված պարտավորությունների և դրանց օֆսեթների ցանկով:
  • «git merge-tree» հրամանն իրականացնում է նոր ռեժիմ, որում երկու նշված commit-ների հիման վրա հաշվարկվում է միաձուլման արդյունք ունեցող ծառը, կարծես այս կոմմիթների պատմությունները միաձուլվել են:
  • Ավելացվեց «safe.barerepository» պարամետրը՝ վերահսկելու մերկ շտեմարանները (պահեստներ, որոնք չեն պարունակում աշխատող ծառ) այլ git պահոցների ներսում: Երբ սահմանվում է «բացահայտ», հնարավոր կլինի աշխատել բաց պահոցների հետ, որոնք տեղակայված են միայն վերին գրացուցակում: Որպեսզի կարողանաք մերկ պահեստները ենթագրքերում տեղադրել, օգտագործեք «բոլորը» արժեքը:
  • «git grep» հրամանն ավելացրել է «-m» («—max-count») տարբերակը, որը նման է GNU grep-ի համանուն տարբերակին և թույլ է տալիս սահմանափակել ցուցադրվող համընկնումների քանակը։
  • «ls-files» հրամանն իրականացնում է «--format» տարբերակը՝ ելքային դաշտերը կարգավորելու համար (օրինակ՝ կարող եք միացնել օբյեկտի անվան ելքը, ռեժիմները և այլն):
  • «git cat-file»-ում օբյեկտների բովանդակությունը ցուցադրելիս հնարավոր է հաշվի առնել փոստի քարտեզի ֆայլում նշված հեղինակ-էլփոստի կապերը:

Source: opennet.ru

Добавить комментарий