Перейти к содержанию
Русский
Материал FikirPilot

Основные нововведения Git 2.56

Обновлено: 28.09.2026 · 2 мин чтения · 329 слов

Опубликовано: · Новость поступила: · Время обработки: 12 мин

Проект Git с открытым исходным кодом выпустил Git 2.56.0 с улучшениями и исправлениями ошибок от более чем 104 участников, 39 из которых присоединились к проекту впервые. Предыдущей версией был Git 2.55.

Новая версия предлагает опцию `git add –resolved`, которая при разрешении конфликтов слияния позволяет подготовить к коммиту только относящиеся к конфликту пути. Этот режим анализирует неслитые пути в индексе и перед добавлением проверяет обычные файлы на наличие оставшихся маркеров конфликтов. Если маркер обнаружен, соответствующие пути сообщаются, а индекс не изменяется. Таким образом, локальные изменения, не связанные с конфликтом, например в `notes.txt`, не добавляются, тогда как разрешённый файл `recipe.txt` можно подготовить к коммиту. Выбор можно сузить с помощью шаблона пути; если в одном из выбранных файлов есть маркер, не добавляется ни один из них. Разрешённые удаления и двоичные конфликты обрабатываются обычным образом. Опцию нельзя объединять с `git add -u` или `git add -A`; она также игнорирует отслеживаемые файлы, которые ранее не участвовали в конфликте.

Git 2.56 также ускоряет операции, выполняющие поиск общих предков. Git движется назад от двух точек фиксации, находя базы слияния, доступные с обеих сторон. Поскольку для слияний criss-cross может потребоваться несколько баз, поиск продолжается до определения всех баз. Новый механизм отслеживания определяет, что новая общая точка уже не может появиться, когда заканчиваются ожидающие фиксации, уникальные для одной из сторон, и останавливает поиск, сохраняя все базы слияния.

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

Новый режим подготовки позволяет разработчикам, столкнувшимся с конфликтом слияния, отделять файлы с завершённым разрешением конфликта, не смешивая их с локальными изменениями; это снижает риск ошибок, особенно для команд, выполняющих разные правки в одном рабочем каталоге. Проверка маркеров конфликтов обеспечивает дополнительный контроль, предотвращая случайную подготовку к фиксации незавершённого содержимого. Улучшение поиска общих предков влияет на то, как Git получает необходимые сведения об истории в репозиториях со множеством веток и слияниями criss-cross. Таким образом, версия не только представляет новую команду, но и нацелена на поведение операций, работающих со сложной историей. Однако степень внедрения этих изменений в разных рабочих процессах и то, в каких репозиториях прирост производительности будет заметен, остаются неясными.

Источник: GitHub Blog