Git 2.38 бастапқы басқару нұсқасы

Бөлінген көзді басқару жүйесінің Git 2.38 шығарылымы енгізілді. Git тармақтарды біріктіруге және біріктіруге негізделген икемді сызықты емес әзірлеу құралдарын қамтамасыз ететін ең танымал, сенімді және жоғары өнімді нұсқаларды басқару жүйелерінің бірі болып табылады. Тарихтың тұтастығын және ретроактивті өзгерістерге қарсы тұруды қамтамасыз ету үшін әрбір міндеттемеде барлық алдыңғы тарихтың жасырын хэштеу қолданылады, сонымен қатар әзірлеушілердің цифрлық қолтаңбаларымен жеке тегтер мен міндеттемелерді тексеруге болады.

Алдыңғы шығарылыммен салыстырғанда жаңа нұсқа 699 әзірлеушінің қатысуымен дайындалған 92 өзгертуді қамтыды, оның 24-і әзірлеуге алғаш рет қатысты. Негізгі инновациялар:

  • Негізгі құрылымға Microsoft корпорациясы үлкен репозиторийлерді басқару үшін әзірлеген «скаляр» утилитасы кіреді. Утилита бастапқыда C# тілінде жазылған, бірақ git C тілінде өзгертілген нұсқасын қамтиды. Жаңа қызметтік бағдарлама git пәрменінен әдепкі бойынша өте үлкен репозиторийлермен жұмыс істеу кезінде өнімділікке әсер ететін қосымша мүмкіндіктер мен параметрлерді қосу арқылы ерекшеленеді. Мысалы, скалярды пайдаланған кезде ол қолданылады:
    • Репозиторийдің толық емес көшірмесімен жұмыс істеу үшін ішінара клондау.
    • Файлдық жүйедегі өзгерістерді бақылаудың кірістірілген механизмі (FSMonitor), ол бүкіл жұмыс каталогы бойынша іздеусіз жасауға мүмкіндік береді.
    • Әртүрлі бума файлдарындағы объектілерді қамтитын индекстер (көп бума).
    • ақпаратқа қол жеткізуді оңтайландыру үшін пайдаланылатын орындау графигі индексі бар commit-graph файлдары.
    • Интерактивті сеансты бұғаттамай, фондық режимде репозиторийдің оңтайлы құрылымын қолдауға арналған фондық мерзімді жұмыс (қашықтағы репозиторийден жаңа нысандарды белсенді түрде жүктеп алу және файлды орындау графигі арқылы жаңарту жұмысы сағатына бір рет орындалады, және буып-түю процесі репозиторий әр түнде іске қосылады).
    • Жартылай клондау кезінде рұқсат етілген үлгілерді шектейтін "sparseCheckoutCone" режимі.
  • «git rebase» пәрменіне --update-refs опциясы қажетті міндеттемеге ауысу үшін әрбір тәуелді тармақты қолмен тексерудің орнына, жылжытылатын тармақтармен қабаттасатын тәуелді тармақтарды жаңарту үшін қосылды.
  • «git rm» пәрменін ішінара индекстермен үйлесімді етіп жасады.
  • Файлды «конус» режимінде ішінара индекстері бар жұмыс кеңістігінен осы режимі жоқ сыртқы аумаққа жылжыту кезінде «git mv A B» пәрменінің әрекеті жақсартылды.
  • Растрлық файл пішімі үлкен репозиторийлермен жұмыс істеу үшін оңтайландырылған - таңдалған міндеттемелер мен олардың ығысулары тізімі бар қосымша индекс кестесі қосылды.
  • «git merge-tree» пәрмені жаңа режимді жүзеге асырады, онда көрсетілген екі міндеттеме негізінде біріктіру нәтижесі бар ағаш осы міндеттемелердің тарихтары біріктірілгендей есептеледі.
  • Басқа git репозиторийлерінің ішінде бос репозитарийлерді (жұмыс ағашы жоқ репозиторийлер) орналастыру мүмкіндігін басқару үшін "safe.barerepository" параметрі қосылды. «Айқын» күйіне орнатылған кезде, тек жоғарғы каталогта орналасқан жалаң репозиторийлермен жұмыс істеуге болады. Ішкі каталогтарға жалаң репозиторийлерді орналастыру мүмкіндігін алу үшін «барлығы» мәнін пайдаланыңыз.
  • «git grep» пәрмені «-m» («—max-count») опциясын қосты, ол GNU grep ішіндегі аттас опцияға ұқсас және көрсетілетін сәйкестіктер санын шектеуге мүмкіндік береді.
  • «ls-файлдар» пәрмені шығыс өрістерін конфигурациялау үшін «--формат» опциясын жүзеге асырады (мысалы, объект атауын, режимдерді және т.б. шығаруды қосуға болады).
  • «git cat-file» ішінде нысандардың мазмұнын көрсету кезінде пошта картасы файлында көрсетілген авторлық пошта байланыстарын ескеруге болады.

Ақпарат көзі: opennet.ru

пікір қалдыру