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ди көрсөтөт.

Source: opennet.ru

Комментарий кошуу