Випущено Git 2.56: покращення продуктивності для великих репозиторіїв

Випущено Git 2.56: покращення продуктивності для великих репозиторіїв

Git 2.56 був випущений, представляючи покращення робочого процесу разом із суттєвими змінами продуктивності, особливо для великих репозиторіїв.

Нові можливості з git add –resolved

Однією з основних новинок є новий параметр git add --resolved. Він дозволяє ставити файли після усунення конфліктів злиття, уникаючи випадкових змін у робочій дереві. Git також перевіряє наявність залишкових маркерів конфліктів перед постановкою, що допомагає уникати помилок під час вирішення конфліктів.

Спрощення роботи з гілками і їх видалення

Випуск включає в себе режим git branch --delete-merged, що спрощує очищення локальних гілок, які вже злилися в upstream. Git 2.56 також розширює команду git refs, підтримуючи створення, оновлення, видалення та перейменування посилань.

Експериментальні команди для роботи з історією

Щодо історії, експериментальна команда git history отримала нову операцію drop для видалення коміту та відтворення пізніших комітів поверх його батька. Експериментальна команда git replay також додає опцію --linearize.

Покращення продуктивності та обслуговування репозиторіїв

GitHub повідомляє про суттєві покращення у обчисленнях merge-base та інших операціях на дуже великих репозиторіях, деякі навантаження демонструють драматичне скорочення часу виконання.

Автоматизація та підказки

Обслуговування репозиторіїв стало кращим, оскільки repack з підтримкою оптимізації суттєво знижує вимоги до зберігання в деяких випадках. Додатково, команда git bisect run тепер може автоматично скинути себе, знайшовши проблемний коміт. Git також надає кращі підказки для частих помилок у git push, а часткові клони отримали вдосконалені способи скидання великих локально кешованих об’єктів, які можна завантажити пізніше.

Інші вдосконалення у Git 2.56

Нарешті, Git 2.56 включає в себе покращення у git log --follow, відображенні графіки та кілька внутрішніх виправлень для підвищення масштабованості, що має на меті поліпшити поведінку Git з дуже великими кодовими базами.

Для отримання додаткової інформації можна переглянути оголошення.