Новая версія Git 2.28, якая дазваляе не выкарыстоўваць імя "master" для асноўных галінак

даступны выпуск размеркаванай сістэмы кіравання зыходнымі тэкстамі Git 2.28.0. Git з'яўляецца адной з самых папулярных, надзейных і высокапрадукцыйных сістэм кіравання версіямі, якая прадстаўляе гнуткія сродкі нелінейнай распрацоўкі, якія базуюцца на адгалінаванні і зліцці галінак. Для забеспячэння цэласнасці гісторыі і ўстойлівасці да змен «заднім лікам» выкарыстоўваюцца няяўнае хэшаванне ўсёй папярэдняй гісторыі ў кожным коміце, таксама магчыма пасведчанне лічбавымі подпісамі распрацоўшчыкаў асобных тэгаў і коммітаў.

У параўнанні з мінулым выпускам у новую версію прынята 317 змен, падрыхтаваных пры ўдзеле 58 распрацоўшчыкаў, з якіх 13 упершыню прынялі ўдзел у распрацоўцы. Асноўныя навіны:

  • Дададзена налада init.defaultBranch, якая дазваляе абраць адвольнае імя асноўнай галіны, якое будзе прымяняцца па змаўчанні. Налада дададзеная для праектаў, распрацоўнікам якіх не даюць спакою ўспаміны аб рабстве, а слова «master» успрымаецца як абразлівы намёк або навявае душэўныя пакуты і пачуццё неадкупленай віны. GitHub, GitLab и Bitbucket прынялі рашэнне па змаўчанні замест слова "master" для асноўных галін выкарыстоўваць слова "main". У Git, як і раней, пры выкананні каманды "git init" па змаўчанні працягвае стварацца галінка "master", але гэтае імя зараз можна змяніць. Напрыклад, для змены імя пачатковай галіны на "main" можна выкарыстоўваць каманду:

    git config -global init.defaultBranch main

  • Дададзеныя аптымізацыі прадукцыйнасці, заснаваныя на з'яўленні ў файлавым фармаце commit-graph, які ўжываецца для аптымізацыі доступу да інфармацыі аб комітах, падтрымкі. фільтраў Блюма, імавернаснай структуры, якая дапускае ілжывае вызначэнне адсутнага элемента, але выняткоўвалай пропуск існуючага элемента. Указаная структура дазваляе прыкметна паскорыць пошук у гісторыі змен пры выкарыстанні каманд «git log » або «git blame».
  • У камандзе "git status" забяспечаны выснова інфармацыі аб прагрэсе выканання аперацыі частковага кланавання (sparse-checkout).
  • Для каманд сямейства "diff" прапанавана новая настройка "diff.relative".
  • Пры праверцы праз "git fsck" зараз ацэньваецца сартаванне дрэва аб'ектаў і выяўляюцца неадсартаваныя элементы.
  • Спрошчаны інтэрфейс для рэдагавання канфідэнцыйнай інфармацыі ў выснове трасіроўкі.
  • У сцэнары аўтададатку ўводу дададзеная падтрымка дадатку опцый каманды «git switch».
  • У "git diff" дададзена падтрымка перадачы аргументаў у розных натацыях ("git diff A..BC", "git diff A..BC…D" і да т.п.).
  • У каманду "git fast-export -anonymize" дададзена магчымасць задання ўласнага супастаўлення элементаў для тонкай налады вываду, каб зрабіць яго больш зручным для адладкі.
  • У "git gui" дазволена адчыняць працоўныя дрэвы з пачатковага дыялогу.
  • У пратаколе "fetch/clone" рэалізавана магчымасць інфармавання кліента серверам аб неабходнасці загрузкі загадзя падрыхтаваных pack-файлаў у дадатак да перадаваемым упакаваным дадзеным аб'екта.
  • Прадоўжана работа па пераходзе на алгарытм хэшавання SHA-256 замест SHA-1.

Крыніца: opennet.ru

Дадаць каментар