Пусна новата версия на Git 2.22 и това са нейните промени

Git

Беше представено пускането на новата версия на Git 2.22. Git е една от най-популярните, надеждни и високопроизводителни системи за контрол на версиите , която предоставя и инструменти за разработка.

За да се осигури целостта на историята и устойчивостта на промяна в погледа назад, имплицитно хеширане на цялата предишна история се използва при всеки фиксиране и цифровите подписи на отделните разработчици на етикети и коммити също могат да бъдат проверени.

В сравнение с предишната версия , в новата версия са направени 745 промени, подготвена с участието на 74 разработчици, 18 от които участват в разработката за първи път.

Ключови нови функции на Git 2.22

За да покажете текущо използвания локален клон, вече можете да използвате командата "git branch-show-current ".

Освен това, от версия 1.18 насам е наличен новият режим на трансфер за commit set-а git rebase --rebase-merges , който замени предишната опция „ --preserve-merges “, която вече е маркирана като остаряла.

За да запазите структурата на клона в преносим клон, можете да използвате опцията " --preserve-merges ", която, когато се стартира в интерактивен режим ( git rebase -i --preserve-merges ), позволява редактиране на историята на коммитовете, но не гарантира пълното запазване на структурата на хранилището.

Режимът наследник „ --rebase-merges “ ви позволява да запазите структурата на промените в преносимия клон, като същевременно предоставя пълен набор от интерактивни операции, включително изтриване, пренареждане и преименуване на комити.

Например, „ --rebase-merges “ позволява commit-и от отделен клон към по-нов master клон, като същевременно запазва структурата на клона в преносимия клон и прави някои промени в бележките, за да ги commit-ва в движение.

Операцията „ git rebase “ се използва за замяна на поредица от commit-и с нов базов commit, например, за да се промени отделен клон, където се разработва нова функция, към текущото състояние на master клона, включително всички корекции, добавени след клона.

Възвишена бекенд поддръжка

Докладът ` git bisect` е актуализиран и вече е по-четлив , а ` git mergetool` вече поддържа и Sublime Merge (` smerge` ) като backend. Git извиква новия hook ` post-index-change` , когато съхраненият индексен файл се промени, което помага с виртуализирани работни дървета.

Освен това, " git difftoo l" вече се изпълнява и извън хранилище и отменя " git checkout -m <other> ", когато открие разлика между HEAD и index.

Тъй като опаковането на индекса понякога отнема много време в процеса на клониране, разработчиците са ви дали лента за напредък по пътя.

В същото време, ` git clone` комуникира чрез версия 2 на протокола, благодарение на новата сървърна опция ` switch` . Няколко функции подобряват довършването на код, а разработчиците са работили и върху инструмента за проследяване trace2.

Новият механизъм за проследяване Trace2 предлага по-гъвкав и структуриран изходен формат. Trace2 позволява събирането на оперативна телеметрия и данни за производителността за по-подробен анализ и отстраняване на грешки (потребителят определя контролера; не се изпращат данни външно).

Изпълнение и развитие

Вграденият диференциален механизъм на Git е пренаписан и вече поддържа ` git commit-tree` , а API-то ` pack-redundant` и ` git multi-pack-index verify` вече работят по-бързо в хранилища, съдържащи много пакетни файлове. За разработчиците, рамката за тестване също е актуализирана.

Наскоро, ` git stash` беше имплементиран в C за ` git rebase` . C имплементацията беше актуализирана , за да се предотврати многократното презаписване на един и същ файл от Git. ` git diff` вече работи и по-бързо в специални сценарии, където събира информация за blob-ове. Не на последно място, `git clone` ускорява процеса на свързване.

Също така е добавена възможността за филтриране, когато се показват разширени "git log" тагове, прикрепени към комитите.


Добавяне като предпочитан източник в Google