Git 2.36 вече е издаден и това са неговите новини

След три месеца развитие беше пусната новата версия на системата на разпределения контрол на изходния код «Git 2.36» една от най-популярните, надеждни и високопроизводителни системи за контрол на версиите, предоставяща гъвкави нелинейни инструменти за разработка, базирани на разклонения и сливания на разклонения.

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

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

В сравнение с предишната версия, в новата версия бяха приети 717 промени, изготвени с участието на 96 разработчици, от които 26 участваха в разработката за първи път. Основни иновации:

Опцията „–remerge-diff“ е добавен към командите „git log“ и „git show“, за да покаже разликите между общия резултат от сливането и действителните данни, отразени в комита след обработка на командата "сливане", която ви позволява да оцените визуално промените, направени в резултат на разрешаването на конфликта при сливане. Обичайната команда „git show“ разделя различните решения на конфликти с отстъп, което прави промените трудни за разбиране.

При използване на опцията “–remerge-diff”, разликите между разрешаването на конфликти не са разделени за всеки родителски клон, но са показани общите разлики между файл, който има конфликти при сливане, и файл, който е разрешил конфликти.

Друга забележителна промяна е подобрена гъвкавост при персонализиране на поведението от прочистване на дискови кешове чрез извикването на функция fsync(). Параметър core.fsyncObjectFiles наличният преди е бил разделен на две конфигурационни променливи core.fsync и core.fsyncMethod, който предоставя възможност за прилагане на fsync не само към обектни файлове (.git/objects), но и към други git структури като refs ( .git /refs), reflog и пакетни файлове.

чрез променлива core.fsync, можете да посочите списък с вътрешни Git структури, след операцията за запис, за която допълнително ще бъде извикан fsync. Променливата core.fsyncMethod ви позволява да изберете метод за прочистване на кеша, например, можете да изберете fsync, за да използвате системното извикване със същото име, или да посочите само за запис, за да използвате чакащо мързеливо записване (мързеливо записване в кеша на страници).

За защита срещу уязвимости които обработват подмяната на .git директории от други потребители на споделени дялове, проверката на собственика на хранилището е засилена. Сега е разрешено само изпълнение на всякакви git команди в техните собствени директории ".git". Ако директорията на хранилището е собственост на друг потребител, по подразбиране ще се генерира грешка. Това поведение може да бъде деактивирано с помощта на настройката за защитена директория.

Също така се подчертава, че добавена опция „–batch-command“ към командата „git cat-file“, който е предназначен да генерира оригиналното съдържание на Git обекти, допълвайки командите „–партида“ и „–партидна проверка“ налични преди с възможност за адаптивно избиране на тип изход чрез „content » за показване на съдържание или «информация » за показване на информация за обекта. Също така се поддържа команда "flush" за прочистване на изходния буфер.

От друга страна се подчертава, че добавена опция "-oid-only" ("-object-only") към командата "git ls-tree", която е предназначена да изброява съдържанието на дърво от обекти, което, по аналогия с "–name -only", показва само идентификатори на обекти, за да опрости извикванията от скриптове. Реализирана е и опцията „–format“, която ви позволява да дефинирате свой собствен изходен формат чрез комбиниране на информация за режим, тип, име и размер.

От останалите промени които се открояват от тази нова версия:

  • В командата „git bisect run“ се реализира дефиницията за незадаване на знака на изпълним файл за скрипта и генериране на грешки с кодове 126 или 127 в този случай (преди това, ако скриптът не можеше да бъде изпълнен, всички прегледи бяха маркирани като имащи проблеми).
  • Добавена е опция „–refetch“ към командата „git fetch“, за да извлече всички обекти, без да информира другата страна на съдържанието, което вече е в локалната система. Това поведение може да бъде полезно за възстановяване на състоянието след неуспехи, когато има несигурност относно целостта на локалните данни.
  • Командите "git update-index", "git checkout-index", "git read-tree" и "git clean" вече поддържат частично индексиране (рядък индекс) за подобряване на производителността и спестяване на място в хранилища, които изпълняват частични операции. (лошо плащане).
  • Променено поведението на командата "git clone --filter=... --recurse-submodules", което сега води до частично клониране на подмодули (преди това при изпълнение на такива команди филтърът се прилагаше само към основното съдържание и подмодулите бяха напълно клонирани, без да се вземе предвид филтърът).
  • Добавена поддръжка за определяне на филтри за селективно поставяне на съдържание в командата "git bundle", подобно на операциите за частично клониране.
  • Добавена опция „–recurse-submodules“ към командата „git branch“ за рекурсивно преминаване през подмодули.
    Userdiff предложи нов драйвер за езика Kotlin.

Накрая ако се интересувате да научите повече за това за тази нова версия на Git 2.36 можете да прегледате подробностите в следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.