Нова версия на 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..B C», «git diff A..B C…D» и т.н.).
  • В командата «git fast-export —anonymize» е добавена възможност за задаване на собствено съпоставяне на елементи за фино настройване на изхода, за да стане той по-удобен за отстраняване на грешки.
  • В «git gui» е разрешено отварянето на работни дървета от началния диалог.
  • В протокола „fetch/clone“ е реализирана възможност за уведомяване на клиента от сървъра относно необходимостта от зареждане на предварително подготвени пак-файлове в допълнение към предаваните опаковани данни на обекта.
  • Продължава работата по прехода към алгоритъма за хеширане SHA-256 вместо SHA-1.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster