Үш айлық әзірлеуден кейін Git 2.44 таратылған бастапқы басқару жүйесі шығарылды. Git – ең танымал, сенімді және өнімділігі жоғары нұсқаларды басқару жүйелерінің бірі, тармақталу мен біріктіруге негізделген икемді сызықты емес әзірлеу құралдарын қамтамасыз етеді. Тарихтың тұтастығын және ретроактивті өзгерістерге қарсы тұруды қамтамасыз ету үшін әрбір міндеттемеде барлық алдыңғы тарихтың жасырын хэшингі қолданылады, сонымен қатар әзірлеушілердің цифрлық қолтаңбаларымен жеке тегтер мен міндеттемелерді куәландыруға болады; Git коды GPLv2+ лицензиясы бойынша таратылады.
Алдыңғы шығарылыммен салыстырғанда жаңа нұсқа 503 әзірлеушінің қатысуымен дайындалған 85 өзгертуді қамтыды, оның 34-і әзірлеуге алғаш рет қатысты. Негізгі инновациялар:
- "git rebase" командасына балама ретінде пайдалануға болатын және тарихты қайта жасау үшін пайдаланылатын жаңа "git replay" командасы қосылды. сервер жұмыс істейтін ағашсыз (жұмыс істейтін ағашы жоқ жалаңаш репозиторий), бір уақытта бірнеше тармақпен жұмыс істеу, қазіргі уақытта тексерілгеннен басқа тармақтарда қайта базалау операциясын орындау немесе жай ғана біріктіру операцияларын жеделдету үшін.
- GitLab CI үздіксіз интеграциялық жүйесіне қолдау қосылды.
- «git add» және «git stash» пәрмендері енді «git show» пәрменіне ұқсас жолмен орнатылған «:(attr:...)» жол атрибуттарын қолдайды. Мысалы, "git add ':(attr:~binary)'" барлық мәтіндік (екілік емес) файлдарды индекске қосу үшін пайдаланылуы мүмкін. Сонымен қатар, жаңа шығарылым қатынас құқықтары бойынша файл жолдарын сүзу үшін «builtin_objectmode» төлсипатын ұсынады. Мысалы, "git add ':(attr:builtin_objectmode=100755)'" барлық орындалатын файлдарды қосу үшін пайдаланылуы мүмкін.
- Нысанның қолжетімділігі деректері бар көп бума индексі бар бірнеше бума файлдары бойынша таратылған нысандарды қайта пайдалануға қолдау қосылды (деректерді іс жүзінде тасымалдаудың орнына бума файлдарында бұрыннан бар деректерді пайдалануға сілтеме жасауға мүмкіндік беретін оңтайландыру). 2.44 нұсқасынан бастап, git енді репозиторийді бір бума файлына қайта бумалауды қажет етпей, бірнеше бума файлдарында нысанды қайта пайдалануды өңдей алады. Жаңа мүмкіндікті қосу үшін келесі пәрмендерді іске қосыңыз: git config —global pack.allowPackReuse multi git multi-pack-index write — bitmap
содан кейін нысандар қайта пайдаланылатын бума файлдарының санын "git push" орындаған кезде көрсетілген "бума-қайта пайдаланылған... (N бастап)" мәнінде бақылауға болады.
- "git rebase --autosquash" пәрменін енді интерактивті емес режимде қайта құру операциялары үшін пайдалануға болады, бұл өзгертулер журналын тексермей немесе GIT_SEQUENCE_EDITOR ортасының айнымалы мәнін өзгертпей, түзетулерді қайта құруға және жылдам қолдануға мүмкіндік береді.
- Файлдар арасындағы айырмашылықтарды бағалау үшін балама алгоритмді таңдау үшін "git merge-file" пәрменіне "--diff-algorithm" опциясы қосылды.
- Пәрменінде «git checkout -B [ ]» басқа жұмыс ағашын пайдаланатын бұтақтарды жаңартуға немесе алуға мүмкіндік бермейді. Ескі әрекетті қайтару үшін «-басқа жұмыс ағаштарын елемеу» опциясы қосылды.
- «git config consult.pushAlreadyExists» параметрін «true» мәніне орнату мүмкіндігі қосылды, ол кеңестерді көрсету кезінде экранда орын алатын оларды өшіру («Осы хабарламаны өшіру...») нұсқауларын жояды.
- «git for-each-ref» пәрменін «--no-sort» опциясымен оңтайландырылған орындау, енді ол анықталмаған тәртіпте шығаруға әкеледі (бұрын «--no-sort» көрсету әлі де әліпбилік сұрыптауға әкелетін) . Оңтайландыруларды жасағаннан кейін "--no-sort" функциясын пайдалану енді репозиторийлер саны көп репозиторийлерде "git for-each-ref" жылдамдығын шамамен 20%-ға арттырады.
- OAuth таңбалауыштарын жаңартуға қолдау көрсету тіркелгі деректері-кэш және тіркелгі деректері-libsecret серверлерінде қалай жүзеге асырылатынына ұқсас wincred тіркелгі деректерін басқару серверіне қосылды.
- «git fetch» «fetch.all» конфигурация опциясына қолдауды қосты, ол пәрмен жолындағы «--all» опциясын қосу сияқты өңделеді.
Ақпарат көзі: opennet.ru
