Git 2.43 булакты башкаруу системасы жеткиликтүү

Үч айлык иштеп чыгуудан кийин 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 revert" кайталанса ката" жазылат, ал эми өзгөртүүнү үчүнчү жолу артка жылдырсаңыз - "Каталарды оңдоону кайра колдонуу"). $ git revert —түзөтүлбөйт HEAD >/dev/null $ git revert —түзөтүлбөйт 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" опциясы аркылуу форматты көрсөтүүдө тиешелүү бутактардын аттарын көрсөтүү үчүн "%(декорат)" толтургучту көрсөтүүгө мүмкүндүк берет, мисалы: $ 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' филиалын бириктирүү
  • "%(authorname)" жана "%(committeremail)" сыяктуу "git for-each-ref" жана ушул сыяктуу буйруктарга --format опциясы аркылуу көрсөтүлгөн формат спецификацияларына .mailmap эрежелерин колдонуу мүмкүнчүлүгү кошулду.

Source: opennet.ru

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