
29 июня 2026 года мейнтейнер проекта Git Хунио Хамано (Junio Hamano) представил релиз распределённой системы управления версиями Git 2.55 с изменениями в рамках подготовки к Git 3.0. В обновление вошли более 400 изменений кода и фиксы с патчами от 137 разработчиков, 66 из них — новые участники проекта. Исходный код Git опубликован на GitHub под лицензией GPLv2+.
Релиз Git 2.47 состоялся в октябре 2024 года. Версия Git 2.48 опубликована в январе 2025 года. В середине марта 2025 года вышла версия Git 2.49. Версия Git 2.50 случилась в июне 2025 года. Сборка Git 2.51 вышла в августе 2025 года. Выпуск Git 2.52 произошёл в ноябре 2025 года. Версию Git 2.53 представили в феврале 2026 года. Предыдущая стабильная версия решения вышла в апреле 2026 года.
Ранее в состав Git 2.52 было добавлено предупреждение о включении по умолчанию в выпуске Git 2.53 сборки компонентов на языке Rust. В версии Git 2.53 были лишь добавлены отдельные улучшения поддержки Rust (возможность сборки без GNU sed), но сборка с Rust при использовании Makefile оставлена по умолчанию отключённой (требует выставления флага WITH_RUST), а при использовании Meson автоматически активируется при наличии компилятора rustc. В версии Git 3.0 инструментарий Rust намерены включить в число обязательных сборочных зависимостей.
Основные доработки и изменения в Git 2.55 (в целом, этот релиз сосредоточен на улучшении повседневных рабочих процессов в различных сценариях использования Git, а не на внесении одного или нескольких крупных изменений, хотя они тоже есть):
-
до сих пор в Git поддержка кода Rust была опциональной на этапе сборки. В Git 2.55 поддержка Rust по‑прежнему опциональна, но теперь включена по умолчанию. Git 2.55+ будет собираться с включённой поддержкой Rust по умолчанию, если только не будет отключена опция «NO_RUST». Но для Git 3.0 или более поздних версий поддержка Rust может стать обязательной;
-
внесены улучшения в обслуживание репозитория, особенно для крупных проектов. Этот выпуск позволяет git repack записывать инкрементные цепочки индексов из нескольких пакетов с помощью инкрементальных мультипаковых индексов git repack ‑write‑midx=incremental;
-
упрощено исправление ранее добавленных коммитов с помощью функции исправления истории git <commit>, которая позволяет пользователям применять поэтапные изменения непосредственно к более раннему коммиту и воспроизводить последующие коммиты поверх негоя. Функция исправления истории позволяет мгновенно объединять добавленные изменения непосредственно в более старый коммит без необходимости интерактивного перебазирования. Это обеспечивает более прямую альтернативу рабочему процессу git commit ‑fixup и git rebase ‑autosquash. Однако подкоманда git history в Git 2.55 по‑прежнему считается экспериментальной;
-
Для пользователей Linux наиболее примечательной особенностью является поддержка встроенного в Git демона мониторинга файловой системы. Раньше встроенный в Git демон FSMonitor был доступен только в macOS и Windows. В Git 2.55 добавлена поддержка Linux, используя подсистему inotify ядра для отслеживания изменений файловой системы. Ожидается, что это улучшение ускорит выполнение таких команд, как статус git, в больших репозиториях. Вместо сканирования всего рабочего дерева Git запрашивает у демона мониторинга информацию об изменении файлов. Одним из соображений, специфичных для Linux, является то, что реализация использует одно наблюдение inotify для каждого каталога. Для очень больших репозиториев может потребоваться увеличение лимита fs.inotify.max_user_watches. Поддержка FSMonitor для сетевых репозиториев остаётся добровольной;
-
улучшены настраиваемые хуки. В Git 2.54 были введены хуки на основе конфигурации, позволяющие определять хуки в конфигурации Git, а не только в виде исполняемых файлов в каталоге hooks. Теперь Git 2.55 расширяет это, позволяя совместимым настраиваемым хукам выполняться параллельно. Например, независимые проверки перед коммитом, такие как линтинг и модульные тесты, теперь могут выполняться одновременно, если они помечены как безопасные для параллельного выполнения. Хуки, зависящие от общего состояния, такие как проверяющие индекс или рабочее дерево, продолжают выполняться последовательно;
-
улучшения производительности распространяются и на генерацию битовых карт доступности, позволяя Git быстрее отвечать на запросы о доступности объектов во время таких операций, как переупаковка. Бенчмарки, приведённые в обзоре релиза, показывают, что время генерации битовой карты в одном большом репозитории сократилось примерно с 612 секунд до 294 секунд;
-
рабочие процессы частичного клонирования и фильтрованной упаковки выигрывают от улучшений в git pack‑objects ‑path‑walk. В Git 2.55 этот режим можно комбинировать с фильтрами, такими как blob:none, blob:limit=<n>, tree:0 и другими;
-
Git теперь по умолчанию маскирует большинство управляющих символов терминала в выводе удалённых команд, снижая риск возникновения путаницы или нежелательного поведения терминала во время таких операций, как git push, при этом сохраняя возможность использования цветовых последовательностей ANSI;
-
команда git checkout ‑m теперь стала безопаснее. При переключении веток с локальными изменениями Git использует внутренний автосохранитель для сохранения конфликтующих изменений, позволяя повторно применить их позже, а не требуя немедленного разрешения;
-
поддержка отправки изменений в удалённые группы. Эта функция упрощает публикацию одной и той же ветки на несколько удалённых репозиториев, таких как основной хост и зеркала. Пользователи могут определить группу удалённых репозиториев и отправить изменения на все из них одной командой;
-
для пользователей, предпочитающих визуальный вывод истории изменений, команда git log ‑graph теперь включает опцию ‑graph‑lane‑limit=<n>. Она ограничивает ширину графика, заменяя полосы за пределами лимита символом ~, что делает широкие истории более читабельными в терминале;
-
в Git 2.55 появилась опция ‑max‑count‑oldest=<n> для команд git rev‑list и семейства git log. В отличие от опции ‑n, которая выбирает самые последние коммиты, эта опция выбирает самые старые коммиты в заданном диапазоне без постобработки на стороне оболочки.
7 апреля 2005 года состоялся первый выпуск распределённой системы управления версиями под названием Git, созданной Линусом Торвальдсом за несколько недель для управления разработкой ядра Linux вместо BitKeeper, так как никакая другая система контроля исходного кода не удовлетворяла требованиям в плане распределённости ресурсов. Теперь этот проект значительно вырос, в прошлом году ему исполнилось 20 лет.
18 апреля 2026 года состоялся релиз открытой платформы совместной разработки Gitea 1.26. Исходный код проекта написан на Go и опубликован на GitHub под лицензией MIT.
16 апреля 2026 года состоялся релиз открытой платформы совместной разработки Forgejo (форка проекта Gitea) v15.0 LTS (с долгосрочной поддержкой 15 июля 2027 года). Решение позволяет развернуть на своих серверах систему для совместной работы с репозиториями Git, напоминающую по решаемым задачам GitHub, Bitbucket и Gitlab. Исходный код проекта написан на языке Go и опубликован под лицензией MIT и GPLv3+ для нового кода.
ссылка на оригинал статьи https://habr.com/ru/articles/1053634/