Кратко
- Проект перехода Git 2018 года выбрал SHA-256 и описал двустороннее сопоставление старых и новых имён объектов. Это был план перехода, а не сообщение о готовой общей совместимости.
- Руководство Git 2.29.0 называло репозитории SHA-256 экспериментальными в 2020 году. Руководство Git 2.54.0 и в 2026 году прямо указывало на отсутствие взаимодействия двух форматов.
Переименовать объект — переписать ссылки
Обычный файл может сохранить свои байты и получить новое имя по SHA-256. С объектом blob это самая понятная часть задачи. Дерево Git содержит имена файлов и поддеревьев. Коммит содержит имя дерева и родительских коммитов. Метка тоже может указывать на объект. Документ о переходе показывает цепную реакцию: новое имя внутри ссылки меняет байты объекта, который эту ссылку хранит. У него самого меняется имя. Так работа распространяется по графу истории. Поменять табличку на двери недостаточно, когда адреса дверей записаны в каждом соседнем помещении.
Старые имена SHA-1 давно жили в локальных архивах, удалённых сервисах и сторонних программах. Для совместной работы нужно знать, какому имени SHA-256 соответствует старое имя SHA-1. Сам хеш не содержит такой исторической справки. Её надо построить, хранить и применять там, где пересекаются два мира.
План 2018 года предложил двустороннюю таблицу имён. Предполагалось переводить репозитории по одному и сохранять связь с серверами SHA-1. Авторы разложили работу на этапы и вывели поддержку нового протокола за пределы первоначального проекта. Бумага аккуратно отделяла желаемую перевозку от уже действующего маршрута.
Локальная команда не открыла весь маршрут
В руководстве Git 2.29.0 за 2020 год появился параметр --object-format=sha256. Там же стояло предупреждение: формат экспериментален, предназначен для проверки и в общем случае не позволяет делить работу с репозиториями SHA-1. Можно построить новый склад, но это ещё не договор с транспортной сетью вокруг него.
Руководство Git 2.54.0 сообщает, что в 2026 году sha1 остаётся форматом по умолчанию, а sha256 доступен как выбор. Между репозиториями этих типов на тот момент нет взаимодействия. Это точное описание границы, которую нельзя скрыть одним присутствием нового параметра.
В документе BreakingChanges Git намерен сделать SHA-256 стандартом для новых репозиториев в Git 3.0. Даты выпуска там нет. Перед изменением должны подготовиться библиотеки, приложения и сервисы размещения; отказ от формата SHA-1 пока не запланирован. Новые записи могут начаться по другому правилу, а старые истории продолжат существовать. Сосуществование требует собственной инфраструктуры.
Решение проекта и власть работающей системы
Проект перехода обсуждал слабости SHA-1, включая коллизию SHAttered 2017 года. У выбора SHA-256 была техническая причина. Однако встроенные ссылки и зависимые программы не исчезали вслед за решением. Разработчики Git могли задать направление, но каждый удалённый сервис и каждая библиотека контролировали часть пути. Между чертежом 2018 года и предостережением 2026 года лежит не бюрократическая пауза, а стоимость согласования уже работающего графа. Имя здесь является частью данных и частью чужого интерфейса.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





