Үш айлық әзірлеуден кейін Git 2.43 таратылған бастапқы басқару жүйесінің шығарылымы жарияланды. Git тармақтарды біріктіруге және біріктіруге негізделген икемді сызықты емес әзірлеу құралдарын қамтамасыз ететін ең танымал, сенімді және жоғары өнімді нұсқаларды басқару жүйелерінің бірі болып табылады. Тарихтың тұтастығын және ретроактивті өзгерістерге қарсы тұруды қамтамасыз ету үшін әрбір міндеттемеде барлық алдыңғы тарихтың жасырын хэштеу қолданылады, сонымен қатар әзірлеушілердің цифрлық қолтаңбаларымен жеке тегтер мен міндеттемелерді тексеруге болады.
Алдыңғы шығарылыммен салыстырғанда жаңа нұсқа 464 әзірлеушінің қатысуымен дайындалған 80 өзгертуді қамтыды, оның 17-сі әзірлеуге алғаш рет қатысты. Негізгі инновациялар:
- «git repack» пәрменіне «--filter» және «--filter-to» опциялары қосылды, бұл көрсетілген нысан сүзгісін ескере отырып репозиторийді қайта буып-түйуге және қажет болған жағдайда орындалмайтын нысандарды жылжытуға мүмкіндік береді. көрсетілген сүзгіні бөлек орынға қанағаттандырыңыз. Параметрлерді жартылай клондау арқылы барлық бөліктерге қол жеткізу мүмкіндігін сақтай отырып, белгілі бір критерийлерге сәйкес репозиторийді бөлуге (мысалы, қажетсіз немесе тым үлкен нысандарды жою үшін) пайдалануға болады. Мысалы, репозиторийде өлшемі 1 МБ-тан аз блобтарды қалдыру және басқа үлкен нысандарды бөлек репозиторийге жылжыту үшін келесі әрекеттерді орындауға болады: $ git init —bare ../backup.git $ git repack -ad —filter='blob :limit=1m' \ --filter-to=../backup.git/objects/pack/pack
Ішінара клондау арқылы репозиторийді инициализациялау репозиторийдің толық емес көшірмесімен жұмыс істеуге, жетіспейтін нысандарға шақыруларды дұрыс өңдеуге мүмкіндік береді (жетпеген нысандарға қол жеткізген кезде олар қажет болған жағдайда жылдам жүктеледі).
- Репозиторийде сілтеме берілмеген (тармақтар немесе тегтер арқылы сілтеме жасалынбаған) қол жетімсіз нысандар туралы ақпараты бар бірнеше бума файлдарымен жұмыс істеу мүмкіндігі қосылды. «git repack —max-cruft-size» жаңа опциясын пайдаланып, бір бума файлының максималды өлшемін анықтауға және қол жетімсіз нысандардың дерекқорын шағын бума файлдарының сериясына бөлуге болады. Бір үлкен файлдың орнына бірнеше шағын бума файлдарын пайдалану қол жетімсіз нысандардың көп саны бар репозиторийлерді қайта бумалау кезінде енгізу/шығару операцияларын айтарлықтай азайтуы мүмкін, себебі әрбір қайта бума операциясы барлық деректерді қайта жазуды қажет етпейді.
- «git revert» арқылы міндеттемені екі есе қайтару әрекеттерін мойындау және кері хабарды жасау кезінде осы фактіні ескеру («Қайтару: Қайтару: қатені түзету», «Қайталауды түзету» орнына «git қайтару» қайталанса қате» жазылады, ал егер өзгертуді үшінші рет кері қайтарсаңыз - «Қатені түзетуді қайта қолдану»). $ git қайтару — өңдеусіз HEAD >/dev/null $ git қайтару — өңдеу жоқ HEAD >/dev/null $ git log —oneline a300922 (HEAD -> негізгі) «Қатені түзету» 0050730 «қатені түзету» b290810 қайтару қатені түзету
- "--rfc" және "--subject-prefix" опцияларын бірге пайдалануға болады. Мысалы, хабардың тақырыбындағы “[RFC PATCH bpf-келесі]” префиксі бар әріпті жасау үшін мынаны көрсетуге болады: $ git format-patch —subject-prefix=”PATCH bpf-next” —rfc
- "git log" пәрмені "--format" опциясы арқылы пішімді көрсету кезінде қатысты тармақтардың атауларын көрсету үшін "%(decorate)" толтырғышын көрсетуге мүмкіндік береді, мысалы: $ git log --format='% cr%(decorate) (%h) %s' 3 күн бұрын (HEAD -> негізгі, бастапқы/мастер, бастапқы/HEAD) (e0939bec27) RelNotes: 2.43.0 күн бұрын 7 шығарылым ескертпелеріндегі шағын тұжырымдар түзетілді (тег: v2.43.0 .1-rc801) (dadef3b2.43) Git 1-rc7 8 күн бұрын (4ed7538ebXNUMX) "tb/rev-list-unpacked-fix" тармағын біріктіру
- "%(автор аты)" және "%(committeremail)" "git for-each-ref" және ұқсас пәрмендер сияқты --format опциясы арқылы көрсетілген пішімдеу спецификаторларына .mailmap ережелерін қолдану мүмкіндігі қосылды.
Ақпарат көзі: opennet.ru
