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, таким как ссылки (.git/refs), журнал ссылок и файлы пакетов.

через переменную core.fsync можно указать список внутренних структур Git, после операции записи, для чего дополнительно будет вызываться fsync. Переменная core.fsyncМетод позволяет выбрать метод очистки кеша, например, можно выбрать fsync для использования одноименного системного вызова или указать только для записи для использования отложенной ленивой записи (кэш страницы отложенной записи).

Для защиты от уязвимостей которые обрабатывают замену каталогов .git другими пользователями в общих разделах, проверка владельца репозитория была усилена. Теперь разрешен только запуск любых команд git в их собственных каталогах «.git». Если каталог репозитория принадлежит другому пользователю, по умолчанию будет сгенерирована ошибка. Это поведение можно отключить с помощью параметра безопасного каталога.

Также подчеркивается, что добавлен параметр «–batch-command» в команду «git cat-file», который предназначен для генерации исходного содержимого объектов Git, дополняя команды «—batch» и «—batch-check» ранее доступный с возможностью адаптивного выбора типа вывода через «контент » для отображения содержимого или «информация » для отображения информации об объекте. Кроме того, поддерживается команда «flush» для сброса выходного буфера.

С другой стороны, подчеркивается, что добавлена ​​опция «-oid-only» («-object-only») на команду «git ls-tree», предназначенную для вывода списка содержимого дерева объектов, которое по аналогии с «–name -only» отображает только идентификаторы объектов для упрощения вызовов из скриптов. Также реализована опция «–format», которая позволяет вам определить свой собственный формат вывода, комбинируя информацию о режиме, типе, имени и размере.

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

  • В команде "git bisect run" реализовано определение не установки признака исполняемого файла для скрипта и генерация ошибок с кодами 126 или 127 в этом случае (ранее, если скрипт не мог выполниться, все отзывы были отмечены как имеющие проблемы).
  • В команду «git fetch» ​​добавлен параметр «–refetch», позволяющий получать все объекты без информирования другой стороны о содержимом, которое уже находится в локальной системе. Такое поведение может быть полезно для восстановления состояния после сбоев, когда есть неуверенность в целостности локальных данных.
  • Команды «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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.