Релиз Git 2.24.0. Что нового. Linux новости

Релиз Git 2.24.0. Что нового

0
Лайков: +1
войдите, чтобы ставить лайки

Git 2.24.0

Git 2.24.0
Версия:2.24.0
Дата релиза:3 ноября 2019
Предыдущий релиз:2.23.0 от 16 августа 2019 (пресс-релиз)
Страница:Git

Состоялся релиз распределенной системы управления версиями Git 2.24.0. В подготовке релиза приняло 78 участников. Кратко рассмотрим основные изменения.

Макросы для настройки

Обычно настройка какого-либо поведения Git требует изменения конфигурации. Пользователь выбирает одну опцию и указывает ее значение. Простейшие примеры опций — user.name и user.email.

Но что делать, когда пользователь не знает какие опции ему нужно изменить. Например, есть очень большой репозиторий с большим количеством файлов, и возникает необходимость увеличить производительность работы Git.

В Git 2.24 ввели понятие макросов для настроек. Фактически это предустановленные наборы настроек, которые можно включить одной опцией. Постепенно количество удобных и полезных макросов будет увеличиваться.

В нашем примере выше, для повышения производительности работы Git, теперь можно выполнить всего одну команду git config function.manyFiles true, которая на самом деле установит несколько опций (index.version и core.unrackedCache). То есть пользователь использует всего одну команду для выполнения определенной конфигурации.

Эффективное хранение коммитов

В Git 2.19 была анонсирована возможность хранения информации о коммитах более эффективным способом — в виде графа. Если данная функция включена и поддерживается, то графы могут значительно улучшить производительность загрузки/поиска коммитов.

В Git 2.24 графы для хранения коммитов используются по умолчанию. В предыдущих версиях Git для включения данной возможности использовалась экспериментальная опция core.commitGraph. Теперь она прошла тестирование и будет работать по умолчанию.

Новая команда для изменения истории

Добавлена новая команда git filter-repo, которая позволяет вносить изменения в историю репозитория, например, удалить файл из истории.

Новая команда является более простой альтернативой мощной, но относительно сложной в использовании команде git filter-branch

Что еще

  • Для команд добавлена новая опция --end-of-options, которая позволяет указать в команде, что после данной опции остальной текст не должен интерпретироваться, как опции. Например, это позволяет выполнить команду git log --end-of-options --super-pingvinus, в которой --super-pingvinus является названием ветки. Данную возможность будет удобно использовать в скриптах.
  • Для команды git rebase --rebase-merges добавлены новые опции --strategy и --strategy-option, которые определяют стратегию разрешения слияний.
  • Добавлен новый hook (обработчик), который выполняется после завершения слияния, но до записи результирующего коммита. Соответствующий скрипт можно разместить в .git/hooks/pre-merge-commit
  • Добавлена поддержка автодополнения для команд с использованием опций конфигурации git -c ...
0
  • Опубликовано: 11.11.2019

Комментарии

Комментариев пока не было.

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила