После двух месяцев разработки Выпущена распределенная система управления версиями Git 2.39, версия, в которой по сравнению с предыдущей версией, В новую версию принято 483 изменений, подготовлен с участием 86 разработчиков, из них 31 участвовали в разработке впервые.
Тем, кто не знаком с Git, следует знать, что это одна из самых популярных систем контроля версий, надежное и высокопроизводительное программное обеспечение, предоставляющее гибкие инструменты нелинейной разработки, основанные на разветвлениях и слияниях разветвлений.
Для обеспечения целостности истории и устойчивости к изменениям задним числом в каждом коммите используется неявное хеширование всей предыдущей истории, также есть возможность проверки цифровых подписей разработчиков отдельных тегов и коммитов.
Основные новые функции Git 2.39
В этой новой версии, которая представлена, мы можем найти то, чтоe добавлена опция «–group» командовать «шортлог git«, Который предназначен для отображения сводок с исторической статистикой изменений, произвольно группировать коммиты по полям, не ограничиваясь автором или автором.
Еще одной новинкой, которая выделяется в новой версии, являются расширенные возможности механизма крафт-паков для упаковки недоступных объектов, на которые нет ссылок в репозитории (на которые не ссылаются ветки или теги).
Сборщик мусора удаляет недоступные объекты, но они остаются в репозитории в течение определенного времени, прежде чем будут удалены, чтобы избежать состояния гонки. Механизм «Крафт пакеты» позволяет хранить все недоступные объекты в файле пакета и отображать данные с течением времени модификация каждого объекта в отдельной таблице хранится в отдельном файле с расширением «.mраз» для них это не совпадает с общим временем модификации.
Количество времени что недостижимые объекты остаются в репозитории прежде чем они будут удалены на самом деле определяется опцией «–prune= ». Тем не менее, хотя отсрочка перед удалением является достаточно эффективным и практичным способом избежать повреждения репозитория из-за состояния гонки, он не надежен на 100%.
Чтобы упростить восстановление из сломанного репозитория, в новой версии появилась возможность сохранять отсутствующие объекты, добавляя опцию «—expire-to»К« командемерзавец«, что позволяет указать файл для создания внешней копии всех удаленных объектов. Например, для сохранения в файле backup.git недостижимых объектов, которые не менялись за последние 5 минут.
В дополнение к этому мы также можем найти в Git 2.39 увеличена (до 70%) скорость операции «git grep –cached» при поиске в областях, использующих частичное клонирование (редкая касса) и для которых существуют частные индексы (разреженный индекс). Раньше при указании опции «–Cached“, сначала искался обычный индекс, а затем партиалы, что вызывало заметные задержки при поиске больших репозиториев.
La более быстрое выполнение на сервере для проверки подключения новых объектов прежде чем они будут помещены в репозиторий при выполнении операции «git push». Благодаря переходу на учет при проверке только заявленных ссылок, в тестовом репозитории с 7 млн ссылок, из которых только 3% покрываются операцией push, оптимизации позволили сократить время проверки в 4,5 раза.
Для защиты от возможных переливов целых чисел в коде, команда «git apply» ограничивает максимальный размер патчей что можно обработать. Если размер патча превышает 1 ГБ, теперь будет отображаться ошибка. Также для защиты от потенциальных уязвимостей внесены изменения по очистке ненужной информации из заголовков, устанавливаемых при использовании модуля h2h3 с опцией GIT_TRACE_CURL=1 или GIT_CURL_VERBOSE=1 вместе с HTTP/2.
Из других изменений, которые выделяются:
- При выполнении операции проверки на ветке, являющейся символической ссылкой на другую ветку, команда «gitsymbolic-ref ГОЛОВА» теперь печатает имя целевой ветки вместо имени символической ссылки.
- Добавлена поддержка аргумента @{-1} для параметра «—edit-описание‘(‘ветка git —edit-description @{-1}«), чтобы отредактировать описание предыдущей ветки.
- Добавлена команда «git слияние-дерево —stdin» который позволяет передать список опций через стандартный ввод.
- Краткий вывод журнала можно добавить с помощью спецификаторов формата и параметра «—группа» значительно упрощает сложную отчетность и устраняет необходимость в дополнительных командах классификации.
- В сетевых файловых системах драйвер fsmonitor, отслеживающий изменения файловой системы, по умолчанию отключен.
Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.