Последняя версия Git была выпущена с поддержкой нескольких рабочих деревьев и треугольных рабочих процессов.
Git — самая популярная система контроля версий. Первоначально разработанный как набор скриптов для поддержки разработки ядра Linux, он быстрый, хорошо сжимается и имеет множество инструментов и ресурсов, которые работают с ним и вокруг него, в частности GitHub.
Предыдущие версии Git позволяли вам иметь две ветви проекта и либо переключаться между ветвями из одного репозитория, либо использовать клонированную копию репозитория, чтобы вы могли переключаться. До сих пор сложная вещь заключалась в том, чтобы синхронизировать клоны.
В новой версии Git добавлена подкоманда git worktree, которая создает дополнительные рабочие деревья, подключенные к существующему репозиторию Git. Каждое связанное рабочее дерево — это псевдорепозиторий с собственной извлеченной рабочей копией. Согласно сообщению о новой версии в блоге Github, его .git на самом деле является файлом, который ссылается на историю и ссылки из основного репозитория.
В новом выпуске также улучшена поддержка треугольных рабочих процессов. Треугольный рабочий процесс — это процесс, при котором вы выполняете выборку из канонического «вышестоящего» репозитория, чтобы поддерживать локальный репозиторий в актуальном состоянии. Если вы хотите поделиться своими изменениями с другими людьми, вы отправляете их в свою вилку и открываете запрос на перенос, и если ваши изменения принимаются, сопровождающий проекта объединяет их в вышестоящий репозиторий.
Git уже неплохо поддерживал этот тип работы, но новая версия уточнила и улучшила поддержку, включая добавление нового сокращения командной строки
Производительность Git также была улучшена, особенно при работе с большими рабочими деревьями и рабочими деревьями, хранящимися в сетевых файловых системах. Одним из способов достижения этого является добавление экспериментальной функции, которая сообщает Git, что при поиске новых файлов необходимо проверять только время модификации каталогов. git index-pack также выполняет гораздо меньше проверок каталога упакованных ссылок, что может иметь огромное значение, если репозиторий находится в сетевой файловой системе, и теперь Git гораздо реже вызывает utime при повторном использовании существующих упакованных объектов. Окончательное улучшение производительности было достигнуто за счет устранения необходимости в чистых / размытых фильтрах для чтения всего ввода. Это может помочь ускорить работу фильтров, таких как Git Large File Storage, которым не нужно читать все содержимое файла для выполнения своей работы.
Вместе с новой версией Git появилась новость о том, что GitHub собрал второй раунд финансирования, добавив еще 250 миллионов долларов. По данным Wall Street Journal, стоимость компании составляет 2 миллиарда долларов.
У Git также появился новый логотип и переработана его документация.