После двух месяцев разработки анонсирован выход новой версии Git 2.35 что по сравнению с предыдущей версией в новой версии принято 494 изменения, подготовленных с участием 93 разработчиков, из которых 35 участвовали в разработке впервые.
Что касается основных нововведений, которые выделяются в этой новой версии, мы можем найти Расширенные возможности использования ключей SSH для цифровой подписи объектов Git.
Для дифференциации срока действия различных ключей добавлено поддержка директив OpenSSH «valid-before» и «valid-after», который можно использовать для корректной работы с подписями.
До этого была проблема с разделением подписей старым ключом и новым: если удалить старый ключ, то невозможно будет проверить сделанные им подписи, а если оставить, то все равно будет возможность создавать новые подписи со старым ключом, который уже был заменен другим ключом. С действительными до и действительными после вы можете разделить область действия ключей в зависимости от того, когда была создана подпись.
Еще одно изменение, которое выделяется в этой новой версии Git 2.35. это настройка merge.conflictStyleчто Позволяет выбрать режим отображения информации о конфликтах при слиянии, теперь поддерживает режим «zdiff3», который перемещает все строки типов, указанные в начале или конце конфликта, за пределы области конфликта, что позволяет более компактно представлять информацию.
Добавлен режим «–постановка»К« командемерзавец«что позволяет скрыть только изменения, добавленные в индекс, например, в ситуациях, когда нужно временно отложить какие-то сложные изменения, чтобы сначала добавить то, что уже готово, а с остальными решить через некоторое время. Режим аналогична команде "git совершить», запись только изменений, размещенных в индексе, но вместо создания нового коммита в "git тайник --постановка«, результат сохраняется во временной области тайника. Когда изменения потребуются, их можно отменить с помощью команды «git stash pop».
С другой стороны, мы можем обнаружить, что добавлен новый спецификатор формата «--format=%(описать)»К« командеgit журнал", какие позволяет выводу «git log» соответствовать выводу команды «git описать».
Параметры для «git description» указываются непосредственно внутри спецификатора («–format=%(describe:match= , исключить = )")), который также может включать сокращенные теги ("–format=% ( description:tags= )) и устанавливает количество шестнадцатеричных символов для идентификации объектов.
Например, чтобы отобразить 8 самых последних коммитов, теги которых не имеют тега кандидата на выпуск, и указать 13-символьные идентификаторы, вы можете использовать команду:
Проделана работа по стандартизации использования типа «size_t» вместо «unsigned long» для значений, представляющих размер объектов, что позволило применять фильтры «очистить» и «размазать» к файлам размером более 4 ГБ. на всех платформах, включая платформы с моделью данных LLP64, введите unsigned long, длина которого ограничена 4 байтами.
Из другие изменения, которые выделяются новой версии:
- Добавлена начальная реализация нового бэкэнда «реверсивный» для хранения ссылок, таких как ветки и теги, в репозитории.
- Цветовая палитра команды «git grep» был изменен, чтобы соответствовать утилите GNU grep.
- Команда "Инициализация git sparse-checkout» устарел и должен использоваться вместо «git sparse-checkout набор».
- Добавлена опция «—пусто=(стоп|отбросить|сохранить)» по команде "Git Am", что позволяет при сканировании патчей из почтового ящика выбирать поведение пустых сообщений, не содержащих патчей.
- Добавлена поддержка разреженных индексов для git reset, git diff, git упрек, git fetch, git pull и git ls-файлы» для повышения производительности и экономии места в репозиториях, где выполняются операции клонирования (sparse-checkout).
В конце концов если вам интересно узнать об этом больше об этой новой версии Git 2.35 вы можете ознакомиться с подробностями в по следующей ссылке.