Phát hành hệ thống kiểm soát nguồn phân tán Git 2.23

giới thiệu phát hành hệ thống kiểm soát nguồn phân tán Git 2.23.0. Git là một trong những hệ thống kiểm soát phiên bản phổ biến, đáng tin cậy và hiệu suất cao cung cấp các công cụ phát triển phi tuyến tính linh hoạt dựa trên việc phân nhánh và hợp nhất các nhánh. Để đảm bảo tính toàn vẹn của lịch sử và khả năng chống lại những thay đổi trong nhận thức muộn, hàm băm ngầm định của toàn bộ lịch sử trước đó trong mỗi lần xác nhận được sử dụng, cũng có thể xác minh chữ ký số của nhà phát triển các thẻ và lần xác nhận riêng lẻ.

По сравнению с прошлым выпуском в новую версию принято 505 изменений, подготовленных при участии 77 разработчиков, из которых 26 впервые приняли участие в разработке. Основные đổi mới:

  • Представлены экспериментальные команды «git switch» и «git restore», призванные разделить между собой малосвязанные возможности «git checkout», такие как манипуляция ветками (переключение и создание) и восстановление файлов в рабочей директории («git checkout $commit — $filename») или сразу в staging area («—staging», не имеет аналога в «git checkout»). Стоит отметить, что, в отличие от «git checkout», «git restore» удаляет неотслеживаемые файлы из восстанавливаемых директорий («—no-overlay» по умолчанию).
  • Добавлена опция «git merge —quit», которая, аналогично «—abort», останавливает процесс слияния веток, но оставляет при этом рабочую директорию нетронутой. Данная опция может оказаться полезной в случае, если некоторые из изменений, внесённых в ходе ручного слияния, предпочтительнее оформить в виде отдельного коммита.
  • Команды «git clone», «git fetch» и «git push» теперь учитывают наличие коммитов в связанных репозиториях (luân phiên);
  • Thêm опции «git blame —ignore-rev» и «—ignore-revs-file», позволяющие пропустить коммиты, в которых внесены незначимые правки (например, исправления форматирования);
  • Добавлена опция «git cherry-pick —skip» для пропуска конфликтного коммита (запоминаемый аналог последовательности «git reset && git cherry-pick —continue»);
  • Добавлена настройка status.aheadBehind, фиксирующая опцию «git status —[no-]ahead-behind» на постоянной основе;
  • С данного выпуска «git log» по умолчанию учитывает изменения, внесённые mailmap, аналогично тому, как это уже происходит в git shortlog;
  • Существенно ускорена операция обновления представленного в 2.18 экспериментального кеша графа коммитов (core.commitGraph). Также ускорен git for-each-ref в случае использования нескольких шаблонов и сокращено количество вызовов auto-gc в «git fetch —multiple»;
  • «git branch —list» теперь всегда показывает detached HEAD в самом начале списка независимо от локали.

Nguồn: opennet.ru

Thêm một lời nhận xét