Git 2.38 включает скаляр, новую утилиту, разработанную Microsoft, улучшения и многое другое.

Git 2.38 включает скаляр, новую утилиту, разработанную Microsoft, улучшения и многое другое.

Git — это программное обеспечение для контроля версий, разработанное Линусом Торвальдсом с учетом эффективности, надежности и совместимости.

Недавно анонсирован выпуск новой версии распределенная система управления исходным кодом Git 2.38, что по сравнению с предыдущей версией, в новой версии принято 699 изменений, подготовленных с участием 92 разработчиков, из которых 24 участвовали в разработке впервые.

Тем, кто не знаком с Git, следует знать, что это одна из самых популярных систем контроля версий, надежное и высокопроизводительное программное обеспечение, предоставляющее гибкие инструменты нелинейной разработки, основанные на разветвлениях и слияниях разветвлений.



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



Основные новые функции Git 2.38

В представленной новой версии Git 2.38 подчеркивается, что включена скалярная утилита разработан Microsoft для управления большими репозиториями. Утилита изначально была написана на C#, но модифицированная версия C включена в git. Новая утилита отличается от команды git наличием дополнительных функций и настроек значения по умолчанию, влияющие на производительность при работе с очень большими репозиториями.

Например, при использовании скаляра применяется следующее:



  • Частичный клон для работы с неполной копией репозитория.
  • Встроенный механизм отслеживания изменений файловой системы (FSMonitor), который избавляет от необходимости перечислять весь рабочий каталог.
  • Индексы, охватывающие объекты в разных файловых пакетах (многопакетные).
  • Файлы графа фиксации с индексом графа фиксации, используемым для оптимизации доступа к информации о фиксации.
  • Периодическая фоновая работа по поддержанию оптимальной структуры репозитория в фоновом режиме без блокировки интерактивной сессии (раз в час выполняется работа по получению новых объектов из удаленного репозитория и обновлению файла с графом фиксации, а также процесс упаковки репозиторий запускается каждую ночь).
  • Режим sparseCheckoutCone, который ограничивает допустимые шаблоны при частичном клонировании.

Еще одно изменение, представленное в этой новой версии Git 2.38, — это Параметр «-update-refs» для команды «git rebase» для обновления зависимых ветвей, которые пересекаются с перемещенными ветвями, поэтому вам не нужно вручную извлекать каждую зависимую ветвь, чтобы переключиться на желаемую фиксацию.

Также подчеркивается, что формат растрового файла был оптимизирован для работы с большими репозиториями— Добавлена ​​необязательная индексная таблица со списком выбранных коммитов и их смещениями.



В дополнение к этому мы можем найти, что в команде «git merge-tree» реализует новый режим в котором, на основе двух конкретных коммитов вычисляется дерево с результатом слияния, как если бы истории этих коммитов были объединены.

Конфигурация добавлена «safe.barerepository» для управления репозиториями, не содержащими дерева работы, их можно поместить в другие репозитории git. Если установлено значение «explicit», голые репозитории, расположенные в верхнем каталоге, смогут работать только. Чтобы иметь возможность размещать голые репозитории в подкаталогах, необходимо использовать значение «все».



Из других изменений которые выделяются из этой новой версии:

  • В команду «git grep» добавлена ​​опция «-m» («-max-count»), аналогичная одноименной опции GNU grep и позволяющая ограничить количество результатов совпадений.
  • Команда «ls-files» реализует параметр «—format» для настройки полей вывода (например, вы можете включить вывод имени объекта, режимов и т. д.).
  • В «git cat-file» при отображении содержимого объектов реализована возможность учитывать авторские ссылки на электронную почту, указанные в файле карты почты.
  • Команда «git rm» совместима с частичными индексами.
  • Улучшено поведение команды «git mv AB» при перемещении файла из рабочей области с частичными индексами в режиме «конус» во внешнюю область, где этот режим не применяется.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.




2022-10-04T22:08:37
приложений