Новости Git 2.56.0
Ключевые нововведения
git add --resolved для безопасного разрешения конфликтов. Новая опция позволяет проиндексировать только те файлы, в которых вы разрешили конфликты слияния. Она проверяет, не осталось ли в них маркеров конфликта, и не трогает другие, несвязанные изменения в вашем рабочем каталоге. Это гораздо безопаснее, чем git add -u или git add -A
Значительное ускорение поиска баз слияния. Git стал намного быстрее находить общего предка для двух коммитов (merge base). В некоторых случаях на больших репозиториях, таких как монорепозитории или ядро Linux, ускорение достигает 70 раз (например, с 0.68 секунды до 0.01). Это ускоряет не только git merge, но и проверки mergeability (когда проверяется возможность мержа в т.ч. в веб-интерфейсах)
git history drop. Команда git history (появившаяся в 2.54) получила новую подкоманду drop. Она позволяет удалить коммит из истории, автоматически "переиграв" все последующие коммиты на его родителя. Пока команда не работает с merge-коммитами и остается экспериментальной
Оптимизация перепаковки (repack) для серверов. Был улучшен алгоритм --path-walk, который позволяет создавать значительно меньшие по размеру pack-файлы (до 71% меньше в тестах)
Другие заметные улучшения
Улучшения для веток. Появилась опция --delete-merged для git branch, которая удаляет локальные ветки, уже влитые в их удаленные отслеживаемые аналоги. А git branch -d теперь выдаст более понятную ошибку, если ветка используется в активном git bisect
Улучшения в git status. Если ваша локальная ветка отстала или разошлась с удаленной, git status теперь будет более настойчиво предлагать выполнить git pull <remote> <branch>
Обновления для git log. Опция --follow теперь лучше отслеживает переименования файлов в нелинейной истории, а --graph теперь визуально выделяет корневые коммиты (у которых нет родителей), делая граф истории более читаемым
Новые подкоманды в git refs. Низкоуровневая утилита git refs получила команды create, update, delete и rename для управления ссылками
Улучшения для git bisect. Появилась опция --reset-when-found, которая автоматически сбрасывает состояние bisect после нахождения "плохого" коммита
А еще
Хоть поддержка SHA-256 для хэша комитов существует уже несколько лет, но переход на неё по умолчанию - это тема следующей крупной версии, Git 3.0, которая сейчас активно обсуждается.
Полная информация с примерами в блоге Gitlab-а.