Останнім часом було оголошено про випуск нової версії система управління розподіленим вихідним кодом Git 2.38, що порівняно з попередньою версією, у новій версії прийнято 699 змін, підготовленій за участю 92 розробників, з яких 24 брали участь у розробці вперше.
Для тих, хто не знайомий з Git, ви повинні знати, що це є однією з найпопулярніших систем контролю версій, надійне та високопродуктивне програмне забезпечення, яке надає гнучкі нелінійні засоби розробки на основі розгалужень і злиття розгалужень.
Для забезпечення цілісності історії та стійкості до змін заднім числом у кожному коміті використовується неявне хешування всієї попередньої історії, також можлива перевірка цифрових підписів розробників окремих тегів і комітів.
Ключові нові можливості Git 2.38
У представленій новій версії Git 2.38 підкреслюється, що включена скалярна утиліта розроблено Microsoft для управління великими сховищами. Утиліта спочатку була написана на C#, але модифікована версія C включена в git. Нова утиліта відрізняється від команди git додаванням додаткових функцій і налаштувань за замовчуванням, які впливають на продуктивність під час роботи з дуже великими сховищами.
Наприклад, при використанні скаляра застосовується таке:
- Частковий клон для роботи з неповною копією сховища.
- Вбудований механізм відстеження змін файлової системи (FSMonitor), що позбавляє від необхідності перераховувати весь робочий каталог.
- Індекси, які охоплюють об’єкти в різних пакетах файлів (мультипакет).
- Файли графіка фіксації з індексом графіка фіксації, який використовується для оптимізації доступу до інформації про фіксацію.
- Періодична фонова робота для підтримки оптимальної структури сховища у фоновому режимі без блокування інтерактивного сеансу (раз на годину виконується робота з отримання нових об’єктів із віддаленого сховища та оновлення файлу з графом комітів, а також процес пакування репозиторій запускається щовечора).
- Режим "sparseCheckoutCone", який обмежує дійсні шаблони в частковому клонуванні.
Ще одна зміна, представлена в цій новій версії Git 2.38, полягає в Параметр «–update-refs» для команди «git rebase». щоб оновити залежні гілки, які перетинаються з переміщеними гілками, тому вам не потрібно вручну перевіряти кожну залежну гілку, щоб перейти до потрібного коміту.
Також підкреслюється, що формат растрового файлу оптимізовано для роботи з великими сховищами— Додано додаткову таблицю індексів зі списком вибраних комітів та їхніх зміщень.
На додаток до цього ми можемо знайти це в команді "git merge-tree" реалізує новий режим у котрому, на основі двох конкретних комітів обчислюється дерево з результатом злиття, ніби історії цих комітів були об’єднані.
Конфігурацію додано "safe.barerepository", щоб контролювати наявність сховищ, які не містять дерева роботи, їх можна розмістити в інших репозиторіях git. Якщо встановлено значення "explicit", голі репозиторії, розташовані у верхньому каталозі, зможуть працювати лише. Щоб мати можливість розміщувати голі репозиторії у підкаталогах, потрібно використовувати значення «all».
З інших змін що виділяються з цієї нової версії:
- До команди «git grep» додано параметр «-m» («–max-count»), який схожий на однойменний параметр GNU grep і дозволяє обмежити кількість результатів відповідності.
- Команда «ls-files» реалізує опцію «--format» для налаштування полів виводу (наприклад, можна ввімкнути виведення імені об’єкта, режимів тощо).
- У «git cat-file» при відображенні вмісту об’єктів реалізована можливість враховувати посилання авторів на електронну пошту, зазначену у файлі карти пошти.
- Команда "git rm" стала сумісною з частковими індексами.
- Покращено поведінку команди «git mv AB» під час переміщення файлу з робочої області з частковими індексами в режимі «конуса» до зовнішньої області, де цей режим не застосовується.
В кінці кінців якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.