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

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

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

  • Git нысандарына сандық қол қою үшін SSH кілттерін пайдалану мүмкіндіктері кеңейтілді. Бірнеше кілттердің жарамдылық мерзімін шектеу үшін OpenSSH директиваларына «жарамды-бұрын» және «жарамды-кейін» қолдауы қосылды, оның көмегімен кілтті әзірлеушілердің бірі айналдырғаннан кейін қолтаңбалармен дұрыс жұмыс істеуді қамтамасыз етуге болады. Бұған дейін ескі және жаңа кілт арқылы қолтаңбаларды бөлу мәселесі туындады - егер сіз ескі кілтті жойсаңыз, онымен жасалған қолтаңбаларды тексеру мүмкін болмайды, ал егер оны қалдырсаңыз, қолтаңбаларды тексеру мүмкін болады. басқа кілтпен ауыстырылған ескі кілтпен жаңа қолтаңбаларды жасаңыз. valid-before және valid-after пайдалану арқылы қолтаңба жасалған уақыт негізінде кілттер ауқымын бөлуге болады.
  • Біріктіру кезінде қайшылықтар туралы ақпаратты көрсету режимін таңдауға мүмкіндік беретін merge.conflictStyle параметрінде қақтығыстың басында немесе соңында көрсетілген барлық стандартты жолдарды қайшылықтан тыс жылжытатын «zdiff3» режимін қолдау пайда болды. ақпараттың ықшамырақ ұсынылуына мүмкіндік беретін аймақ.
  • «git stash» пәрменіне «--кезеңді» режимі қосылды, ол индекске енгізілген өзгерістерді ғана жасыруға мүмкіндік береді, мысалы, алдымен күрделі өзгерістердің кейбірін уақытша кейінге қалдыру қажет болған жағдайда. дайын нәрсені қосыңыз және біраз уақыттан кейін қалғанын шешіңіз. Режим «git commit» пәрменіне ұқсас, тек индексте орналастырылған өзгерістерді жазады, бірақ «git stash —stage» ішінде жаңа міндеттеме жасаудың орнына нәтиже stash уақытша аймағында сақталады. Өзгерістер қажет болған кезде оларды «git stash pop» пәрменімен қайтаруға болады.
  • «git log» пәрменіне жаңа пішім спецификаторы қосылды, «--format=%(describe)», ол «git log» шығысын «git describe» пәрменінің шығысымен біріктіруге мүмкіндік береді. “git describe” параметрлері спецификатордың ішінде тікелей көрсетіледі (“—format=%(describe:match=,exclude=)”), олар сонымен қатар стенографиялық тегтерді де қамтуы мүмкін (“—format=%() сипаттаңыз: tags=)") және объектілерді анықтау үшін он алтылық таңбалар санын конфигурациялаңыз ("-format=%(describe:abbrev=)"). Мысалы, тегтерінде шығаруға үміткер тегі жоқ және 8 таңбалы идентификаторларды көрсете отырып, соңғы 8 тапсырманы тізімдеу үшін мына пәрменді пайдалануға болады: $ git log -8 —format='%(describe:exclude=*-rc). *,қысқартылған =13 )' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643. gb2bd95 bbc94f056 v2.34.1-642-gffb56f95d v8-7- gdf2.34.1c203adeb9 v2980902-2.34.1-g640b3a41
  • user.signingKey параметрі енді "ssh-" түрімен шектелмейтін және кілтке толық файл жолын көрсететін кілттердің жаңа түрлерін қолдайды. Балама түрлер "key::" префиксі арқылы көрсетіледі, мысалы, ECDSA кілттері үшін "key::ecdsa-sha2-nistp256".
  • «—гистограмма» режиміндегі өзгерістер тізімін жасау жылдамдығы, сондай-ақ түс айырмашылығындағы бос орындарды бөлектеуді басқаратын «—color-moved-ws» опциясын пайдалану кезінде айтарлықтай артты.
  • Біріктіру қайшылықтарын талдау, айырмашылықтарды қарау немесе іздеу әрекетін орындау кезінде Vim-ді файлдағы қажетті орынға дәл секіру туралы ақпаратты беру үшін пайдаланылатын «git jump» пәрмені біріктіру қайшылықтарын тарылту мүмкіндігін береді. Мысалы, әрекеттерді тек “foo” каталогымен шектеу үшін “git jump merge - foo” параметрін, ал “Documentation” каталогын өңдеуден шығару үшін – “git jump merge - ‘:^Documentation’” параметрін көрсетуге болады.
  • Нысандардың өлшемін білдіретін мәндер үшін «ұзақ белгіленбеген ұзын» орнына «size_t» түрін пайдалануды стандарттау бойынша жұмыс жүргізілді, бұл 4 ГБ-тан асатын файлдармен «таза» және «тазалау» сүзгілерін пайдалануға мүмкіндік берді. барлық платформаларда, соның ішінде LLP64 деректер үлгісі бар платформаларда , 4 байтпен шектелген «unsigned long» түрі.
  • «git am» пәрменіне «-empty=(stop|drop|keep)» опциясы қосылды, ол пошта жәшігіндегі патчтарды талдау кезінде патчтары жоқ бос хабарлардың әрекетін таңдауға мүмкіндік береді. «Тоқтату» мәні барлық түзету әрекетін тоқтатады, «түсіру» бос патчты өткізіп жібереді және «сақтау» бос міндеттеме жасайды.
  • Өнімділікті жақсарту және кеңістікті үнемдеу үшін «git reset», «git diff», «git blame», «git fetch», «git pull» және «git ls-files» пәрмендеріне ішінара индекстерге (сирек индекс) қолдау қосылды. репозиторийлер , онда ішінара клондау операциялары (сирек-тексеру) орындалады.
  • "git sparse-checkout init" пәрмені ескірген және оны "git sparse-checkout set" деп ауыстыру керек.
  • Репозиторийдегі тармақтар мен тегтер сияқты сілтемелерді сақтауға арналған жаңа «қайтарылатын» сервердің бастапқы іске асырылуы қосылды. Жаңа сервер JGit жобасы пайдаланатын блоктық жадты пайдаланады және сілтемелердің өте үлкен санын сақтау үшін оңтайландырылған. Backend refs жүйесімен әлі біріктірілмеген және практикалық пайдалануға дайын емес.
  • "git grep" пәрменінің түс палитрасы GNU grep утилитасына сәйкестендірілді.

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

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