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

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

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

  • «git log» және «git show» пәрмендері «--remerge-diff» опциясын қосты, бұл біріктірудің жалпы нәтижесі мен «біріктіру» өңдеуден кейін міндеттемеде көрсетілген нақты деректер арасындағы айырмашылықтарды көрсетуге мүмкіндік береді. » пәрмені біріктіру қайшылықтарын шешу нәтижесінде енгізілген өзгерістерді нақты бағалауға мүмкіндік береді. Қалыпты «git show» пәрмені әр түрлі қақтығыс шешімдерін шегіндіреді, бұл өзгерістерді түсінуді қиындатады. Мысалы, скриншоттың астындағы «+/-» жолының шегініссіз бірінші тармақтағы түсініктемедегі sha1 атауын oid деп өзгертуге байланысты қайшылықтың соңғы шешімін көрсетеді, ал шегінісі бар «+/-» бастапқы жолды көрсетеді. dwim_ref() функциясындағы екінші тармақта қосымша аргументтің пайда болуынан туындаған қақтығысты шешу.
    Git 2.36 бастапқы басқару нұсқасы

    "--remerge-diff" опциясын пайдаланған кезде қайшылықтарды шешу арасындағы айырмашылықтар әрбір негізгі тармақ үшін бөлінбейді, бірақ біріктіру қайшылықтары бар файл мен қайшылықтар шешілген файл арасындағы жалпы айырмашылықтар көрсетіледі.

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

  • fsync() функциясына қоңырау шалу арқылы дискінің кэштерін тазалау әрекетін конфигурациялаудағы икемділіктің жоғарылауы. Бұрын қол жетімді core.fsyncObjectFiles параметрі fsync тек нысан файлдарына (.git/objects) ғана емес, сонымен қатар сілтемелер ( сияқты басқа git құрылымдарына да қолдану мүмкіндігін қамтамасыз ететін core.fsync және core.fsyncMethod конфигурациясының екі айнымалы мәндеріне бөлінген. .git /refs), рефлог және бума файлдары.

    core.fsync айнымалы мәнін пайдаланып, жазу әрекетінен кейін fsync қосымша шақырылатын ішкі Git құрылымдарының тізімін көрсетуге болады. core.fsyncMethod айнымалысы кэшті тазалау әдісін таңдауға мүмкіндік береді, мысалы, аттас жүйелік шақыруды пайдалану үшін fsync параметрін таңдауға немесе бет кэшінен кері жазуды пайдалану үшін тек жазуды көрсетуге болады.

  • Басқа пайдаланушылардың .git каталогтарын ортақ бөлімдерге ауыстыруын басқаратын осалдықтардан қорғау үшін репозиторий иесінің тексеруі күшейтілді. Кез келген git пәрмендерін орындау енді тек өзінің ".git" каталогтарында рұқсат етілген. Репозиторийі бар каталог басқа пайдаланушыға тиесілі болса, әдепкі бойынша қате көрсетіледі. Бұл әрекетті safe.directory параметрі арқылы өшіруге болады.
  • Git нысандарының бастапқы мазмұнын шығаруға арналған «git cat-file» пәрмені бұрын қол жетімді «--batch» және «--batch-check» опциясын толықтыратын «--batch-command» опциясымен толықтырылды. ” пәрмендері мазмұнды көрсету үшін “ мазмұны <объект>” немесе нысан туралы ақпаратты көрсету үшін “ақпарат <нысан>” арқылы шығыс түрін бейімдеу мүмкіндігі бар. Сонымен қатар, шығыс буферін тазалау үшін «тазалау» пәрменіне қолдау көрсетіледі.
  • Нысан тармағының мазмұнының тізімін жасауға арналған «git ls-tree» пәрменіне «—тек ат» сияқты «—тек қана» («—тек нысан») опциясы қосылды. ”, сценарийлерден қоңырауды жеңілдету үшін тек нысан идентификаторларын көрсетеді. Сондай-ақ режим, түр, атау және өлшем туралы ақпаратты біріктіру арқылы өзіңіздің шығыс пішіміңізді анықтауға мүмкіндік беретін «--format» опциясы жүзеге асырылады.
  • «git bisect run» пәрмені сценарий үшін орындалатын файл жалауын орнатпауды анықтауды жүзеге асырады және бұл жағдайда 126 немесе 127 кодтары бар қателерді көрсетеді (бұрын сценарийді іске қосу мүмкін болмаса, барлық түзетулер ақаулары бар деп белгіленген) .
  • «git fetch» ​​пәрменіне жергілікті жүйедегі мазмұн туралы екінші тарапты хабардар етпестен барлық нысандарды алу үшін --refetch опциясы қосылды. Бұл әрекет жергілікті деректердің тұтастығы белгісіз болған кезде сәтсіздіктерден қалпына келтіру үшін пайдалы болуы мүмкін.
  • "git update-index", "git checkout-index", "git read-tree" және "git clean" пәрмендері енді өнімділікті жақсарту және ішінара операциялар орындалатын репозиторийлерде орынды үнемдеу үшін ішінара индекстерді (сирек индекс) қолдайды. (сирек-тексеру).
  • «git clone —filter=... —recurse-submodules» пәрменінің әрекеті өзгертілді, ол енді ішкі модульдерді ішінара клондауға әкеледі (бұрын мұндай командаларды орындау кезінде сүзгі тек негізгі мазмұнға ғана қолданылған, ал ішкі модульдер сүзгіні есепке алмай толығымен клондалған).
  • "git bundle" пәрмені ішінара клондау әрекеттеріне ұқсас мазмұнды таңдаулы орналастыру үшін сүзгілерді көрсетуге қолдауды қосты.
  • Ішкі модульдерді рекурсивті өту үшін «git филиалы» пәрменіне «--recurse-submodules» опциясы қосылды.
  • Userdiff Котлин тіліне арналған жаңа өңдеуші ұсынады.

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

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