Git відзначає 20 років випуском версії 2.50 з масштабними доопрацюваннями

watch 17s
views 2

15:01, 17.06.2025

Зміст статті
arrow

  • Робота з недосяжними об'єктами стала ефективнішою
  • Оновлення багатопакетних індексів і видалення старого движка злиттів
  • Нові команди та опції
  • Покращення в мережевих можливостях та екосистемі

16 червня 2025 року відбувся реліз Git 2.50 — великого оновлення однієї з найпопулярніших у світі систем управління версіями. До ювілейної версії, приуроченої до 20-річчя проєкту, увійшли 621 зміна, внесені 98 розробниками, включаючи 24 нових учасника. Git 2.50 став логічним продовженням версій 2.47 (жовтень 2024), 2.48 (січень 2025) і 2.49 (березень 2025), продовжуючи курс на оптимізацію продуктивності та модернізацію внутрішніх компонентів системи.

Робота з недосяжними об'єктами стала ефективнішою

Одне з ключових поліпшень стосується роботи з так званими «cruft packs» — архівами з об'єктами, на які не посилаються ні гілки, ні теги. Тепер підтримується поділ таких pack-файлів на кілька менших за розміром, що скорочує навантаження на диск при перепакуванні. Також з'явилася нова опція --combine-cruft-below-size, що дозволяє об'єднувати дрібні pack-файли без обмеження на підсумковий розмір.

Оновлення багатопакетних індексів і видалення старого движка злиттів

У Git 2.50 реалізована експериментальна підтримка інкрементального оновлення MIDX (multi-pack index), де кожен рівень індексу зберігається окремо у вигляді bitmap-файлу. Це особливо важливо для великих репозиторіїв, в яких важлива швидкість роботи при додаванні нових об'єктів.

Також з коду повністю видалено застарілий движок злиття recursive, який поступився місцем більш сучасному та ефективному ORT (Ostensibly Recursive's Twin). Новий движок працює швидше, вимагає менше операцій запису та супроводжується простіше.

Нові команди та опції

Оновлення включає чимало зручних нововведень:

  • У git maintenance з'явилися нові дії: worktree-prune, rerere-gc і reflog-expire, що забезпечують очищення репозиторію від застарілих і конфліктних даних.
  • Додана команда git reflog drop, що дозволяє видаляти reflog для вказаної гілки.
  • Команди, що працюють з виведенням (git cat-file -batch, git rev-list), отримали нові фільтри і машинно-орієнтований формат з розділенням NUL-символом.
  • Оптимізована робота з посиланнями — кешуються префікси, прискорено update-ref.

Покращення в мережевих можливостях та екосистемі

Для взаємодії із зовнішніми системами Git 2.50 пропонує нові налаштування KeepAlive через cURL: http.keepAliveIdle, http.keepAliveInterval та http.keepAliveCount. А команда send-email тепер краще взаємодіє з SMTP-сервером Outlook.

Цікавим кроком стало виключення Perl із залежностей під час компіляції документації та запуску тестів. Скрипти та тести тепер переписані на shell і C, що робить компіляцію легшою та універсальнішою.

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

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.