Git 2.38 булакты башкаруу релиз

Git 2.38 бөлүштүрүлгөн булакты башкаруу тутумунун чыгарылышы жарыяланды. Git эң популярдуу, ишенимдүү жана жогорку өндүрүмдүү версияларды башкаруу тутумдарынын бири, тармакташуу жана бириктирүү боюнча ийкемдүү сызыктуу эмес өнүгүү куралдарын камсыз кылат. Тарыхтын бүтүндүгүн жана ретроактивдүү өзгөрүүлөргө каршылыгын камсыз кылуу үчүн ар бир милдеттенмеде мурунку тарыхтын имплициттүү хэштери колдонулат, ошондой эле иштеп чыгуучулардын санариптик колтамгалары менен жеке тегдерди жана милдеттенмелерди тастыктоого болот;

Мурунку релизге салыштырмалуу жаңы версияда 699 иштеп чыгуучунун катышуусунда даярдалган 92 өзгөртүү камтылган, анын ичинен 24ү биринчи жолу иштеп чыгууга катышкан. Негизги инновациялар:

  • Негизги структурага Microsoft тарабынан чоң репозиторийлерди башкаруу үчүн иштелип чыккан “скалярдык” утилита кирет. Утилита алгач C# тилинде жазылган, бирок git C тилиндеги өзгөртүлгөн версиясын камтыйт. Жаңы утилита git буйругунан айырмаланып, демейки боюнча өтө чоң репозиторийлер менен иштөөдө иштөөгө таасир этүүчү кошумча функцияларды жана орнотууларды иштетет. Мисалы, скалярды колдонууда ал колдонулат:
    • Репозиторийдин толук эмес көчүрмөсү менен иштөө үчүн жарым-жартылай клондоо.
    • Файлдык тутумдагы өзгөрүүлөргө көз салуу үчүн орнотулган механизм (FSMonitor), бул сизге бүт жумушчу каталогду издебестен жасоого мүмкүндүк берет.
    • Ар кандай пакет файлдарындагы объекттерди камтыган индекстер (көп пакеттүү).
    • маалыматка жетүүнү оптималдаштыруу үчүн колдонулган commit graph индекси бар commit-graph файлдары.
    • Интерактивдүү сессияга бөгөт койбостон, фондо репозиторийдин оптималдуу түзүмүн колдоо боюнча мезгил-мезгили менен иштөө (алыскы репозиторийден жаңы объекттерди проактивдүү жүктөө жана файлды милдеттенме графиги менен жаңыртуу боюнча жумуш саатына бир жолу аткарылат, жана пакеттөө процесси). репозиторий күн сайын кечинде башталат).
    • Жарым-жартылай клондоо учурунда уруксат берилген үлгүлөрдү чектеген "sparseCheckoutCone" режими.
  • Талап кылынган милдеттенмеге өтүү үчүн ар бир көз каранды бутакты кол менен текшерүүнүн ордуна, жылдырылып жаткан бутактарга дал келген көз каранды бутактарды жаңыртуу үчүн "git rebase" буйругуна --update-refs опциясы кошулду.
  • "git rm" буйругун жарым-жартылай индекстерге шайкеш кылды.
  • Файлды "конус" режиминде жарым-жартылай индекстери бар жумушчу мейкиндиктен бул режими жок тышкы чөйрөгө жылдырууда "git mv AB" буйругунун жүрүм-туруму жакшыртылды.
  • Битмап файлынын форматы чоң репозиторийлер менен иштөө үчүн оптималдаштырылган - тандалган милдеттенмелердин жана алардын офсеттеринин тизмеси менен кошумча индекс таблицасы кошулган.
  • "git merge-tree" буйругу жаңы режимди ишке ашырат, мында эки көрсөтүлгөн тапшырманын негизинде, бул комиссиялардын тарыхтары бириктирилгендей, бириктирүүнүн жыйынтыгы менен дарак эсептелет.
  • Башка гит репозиторийлеринин ичинде жылаңач репозиторийлерди (иштей турган даракты камтыбаган репозиторийлерди) жайгаштыруу мүмкүнчүлүгүн көзөмөлдөө үчүн "safe.barerepository" жөндөөсү кошулду. "Ачык" деп коюлганда, жогорку каталогдо гана жайгашкан жылаңач репозиторийлер менен иштөөгө болот. Жалаң репозиторийлерди подкаталогдорго жайгаштыруу үчүн "бардыгы" маанисин колдонуңуз.
  • “git grep” буйругу “-m” (“—max-count”) опциясын кошту, ал GNU grepдеги бир эле аталыштагы вариантка окшош жана көрсөтүлгөн дал келүүлөрдүн санын чектөөгө мүмкүндүк берет.
  • “ls-files” буйругу чыгаруу талааларын конфигурациялоо үчүн “--формат” опциясын ишке ашырат (мисалы, объекттин аталышын, режимдерин ж.б. чыгарууну иштете аласыз).
  • "git cat-file" ичинде объекттердин мазмунун көрсөтүүдө, почта картасы файлында көрсөтүлгөн автордук почта байланыштарын эске алууга болот.

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster