Git 2.51 (18 августа 2025): подготовка SHA‑256 и Reftable — настоящий поворотный момент для больших репозиториев и инструментов

DevOpsGit

Основное обновление

Git 2.51 (выпущен 18 августа 2025 года) предоставляет несколько улучшений на уровне репозитория и, что наиболее важно, формализует путь перехода к Git 3.0, делая SHA‑256 будущим алгоритмом хеширования по умолчанию и подготавливая бэкенд ссылок reftable в качестве стандартного для новых репозиториев. Выпуск также добавляет обработку многоупаковочного индекса (MIDX) без мусора, новый режим репаковки «path‑walk», который может создавать значительно меньшие пакеты, формат обмена импортом/экспортом stash и стабилизирует ранее экспериментальные команды, такие как git switch/git restore. (github.blog)

Почему это важно

Это не косметическое обновление: изменение алгоритма хеширования по умолчанию и бэкенда ссылок влияет на предположения о совместимости, которые многие скрипты, CI-пайплайны, хостинг-провайдеры, инструменты для релизов и сторонние интеграции все еще делают сегодня. Практические последствия, на которые вам следует обратить внимание сейчас, включают: любые инструменты, которые предполагают 40-символьные SHA‑1 ID или разбирают объектные ID по длине, будут работать некорректно, когда репозитории используют SHA‑256; хуки, подписанные теги, манифесты развертывания и хранилища метаданных должны принимать более длинные хеши; инструменты хостинга и зеркал нуждаются в поддержке reftable, чтобы получить атомарное, нечувствительное к регистру безопасное управление ссылками и прирост производительности больших наборов ссылок, которые предлагает reftable; и поддерживатели монорепозиториев могут ожидать значительно меньшие и более быстрые записи MIDX и меньшие файлы пакетов при использовании новых опций упаковки. Проект предоставляет путь перехода с возможностью выбора (так что существующие SHA‑1 репозитории продолжают работать), но окончательный стандартный вариант появится с Git 3.0, поэтому сейчас самое время для тестирования.

Для команд: запускайте CI-образы с Git ≥2.51 в тестовой среде, проверяйте и исправляйте любые скрипты или регулярные выражения, которые предполагают 40-символьные SHA‑1, убедитесь, что ваши хосты кода и провайдеры CI имеют дорожную карту/совместимость для SHA‑256/reftable, и попробуйте репаковку с новыми опциями path‑walk/repack на больших репозиториях, чтобы измерить немедленные преимущества по хранению и производительности. Для больших корпоративных монорепозиториев и судебных/безопасностных рабочих процессов начните план совместимости (инструменты, резервные копии, зеркала и подписи), так как смешанные хеш-окружения вводят операционную сложность, если не координировать.

Источник

Читать дальше