Git отмечает 20 лет выпуском версии 2.50 с масштабными доработками

watch 15s
views 2

14:57, 17.06.2025

Содержание статьи
arrow

  • Работа с недостижимыми объектами стала эффективнее
  • Обновление многопакетных индексов и удаление старого движка слияний
  • Новые команды и опции
  • Улучшения в сетевых возможностях и экосистеме

16 июня 2025 года состоялся релиз Git 2.50 — крупного обновления одной из самых популярных в мире систем управления версиями. В юбилейную версию, приуроченную к 20-летию проекта, вошли 621 изменение, внесённые 98 разработчиками, включая 24 новых участника. Git 2.50 стал логичным продолжением версий 2.47 (октябрь 2024), 2.48 (январь 2025) и 2.49 (март 2025), продолжая курс на оптимизацию производительности и модернизацию внутренних компонентов системы.

Работа с недостижимыми объектами стала эффективнее

Одно из ключевых улучшений касается работы с так называемыми «cruft packs» — архивами с объектами, на которые не ссылаются ни ветки, ни теги. Теперь поддерживается разделение таких pack-файлов на несколько меньших по размеру, что сокращает нагрузку на диск при переупаковке. Также появилась новая опция --combine-cruft-below-size, позволяющая объединять мелкие pack-файлы без ограничения на итоговый размер.

Обновление многопакетных индексов и удаление старого движка слияний

В Git 2.50 реализована экспериментальная поддержка инкрементального обновления MIDX (multi-pack index), где каждый уровень индекса хранится отдельно в виде bitmap-файла. Это особенно важно для крупных репозиториев, в которых важна скорость работы при добавлении новых объектов.

Также из кода полностью удалён устаревший движок слияния recursive, уступивший место более современному и эффективному ORT (Ostensibly Recursive's Twin). Новый движок работает быстрее, требует меньше операций записи и сопровождается проще.

Новые команды и опции

Обновление включает немало удобных новшеств:

  • В git maintenance появились новые действия: worktree-prune, rerere-gc и reflog-expire, обеспечивающие чистку репозитория от устаревших и конфликтных данных.
  • Добавлена команда git reflog drop, позволяющая удалять reflog для указанной ветки.
  • Команды, работающие с выводом (git cat-file -batch, git rev-list), получили новые фильтры и машинно-ориентированный формат с разделением NUL-символом.
  • Оптимизирована работа со ссылками — кэшируются префиксы, ускорен update-ref.

Улучшения в сетевых возможностях и экосистеме

Для взаимодействия с внешними системами Git 2.50 предлагает новые настройки KeepAlive через cURL: http.keepAliveIdle, http.keepAliveInterval и http.keepAliveCount. А команда send-email теперь лучше взаимодействует с SMTP-сервером Outlook.

Интересным шагом стало исключение Perl из зависимостей при сборке документации и запуске тестов. Скрипты и тесты теперь переписаны на shell и C, что делает сборку легче и универсальнее.

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

Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.