Git 2.23 таратылған көзді басқару жүйесінің шығарылымы

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

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

  • Эксперименттік «git switch» және «git restore» командалары тармақты басқару (ауысу және жасау) және жұмыс каталогындағы файлдарды қалпына келтіру («git checkout $commit - $filename») сияқты еркін байланысқан «git checkout» мүмкіндіктерін бөлу үшін енгізілген. немесе бірден қойылым аймағында («—сценарий», «git checkout» ішінде аналогы жоқ). Айта кетейік, "git checkout" -тен айырмашылығы, "git restore" қалпына келтірілетін каталогтардан бақыланбаған файлдарды жояды (әдепкі бойынша "--no-overlay").
  • «-abort» сияқты тармақтарды біріктіру процесін тоқтататын, бірақ жұмыс каталогын ешбір өзгеріссіз қалдыратын «git merge –quit» опциясы қосылды. Бұл опция қолмен біріктіру кезінде жасалған кейбір өзгертулердің бөлек міндеттеме ретінде шығарылғаны дұрыс болса пайдалы болуы мүмкін.
  • «git clone», «git fetch» ​​және «git push» пәрмендері енді байланыстырылған репозиторийлердегі міндеттемелердің болуын ескереді (кезектесіп отырады);
  • Қосылды «git blame —ignore-rev» және «—ignore-revs-file» опциялары кішігірім өзгерістер енгізетін тапсырмаларды өткізіп жіберуге мүмкіндік береді (мысалы, пішімдеу түзетулері);
  • Қайшылықты міндеттемені өткізіп жіберу үшін «git cherry-pick —skip» опциясы қосылды («git reset && git cherry-pick —жалғастыру» тізбегінің есте қалған аналогы);
  • «git status -[no-]ahead-behind» опциясын біржола түзететін status.aheadBehind параметрі қосылды;
  • Осы шығарылымдағы жағдай бойынша, "git log" әдепкі бойынша git shortlog сияқты пошта картасы арқылы жасалған өзгерістерді ескереді;
  • 2.18-де енгізілген орындау графигінің тәжірибелік кэшінің (core.commitGraph) жаңарту әрекеті айтарлықтай жеделдетілді. Сондай-ақ, git for-each-ref бірнеше үлгілерді пайдаланған кезде жылдамырақ жасалды және «git fetch —multiple» ішінде auto-gc-ке қоңыраулар санын азайтты;
  • "git branch --list" енді тілге қарамастан тізімнің ең басында әрқашан бөлінген HEAD көрсетеді.

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

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