Новая версия Git 2.28, позволяющая не использовать имя «master» для основных веток
27 июля 2020 года
Доступен выпуск распределенной системы управления исходными текстами Git 2.28.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.
По сравнению с прошлым выпуском в новую версию принято 317 изменений, подготовленных при участии 58 разработчиков, из которых 13 впервые приняли участие в разработке. Основные новшества:
- Добавлена настройка init.defaultBranch, позволяющая выбрать произвольное имя основной ветки, которое будет применяться по умолчанию. Настройка добавлена для проектов, разработчикам которых не дают покоя воспоминания о рабстве, а слово "master" воспринимается как оскорбительный намёк или навевает душевные муки и чувство неискуплённой вины. GitHub, GitLab (Архивная копия от 27 июля 2020 на Wayback Machine) и Bitbucket приняли решение по умолчанию вместо слова "master" для основных веток использовать слово "main". В Git, как и раньше, при выполнении команды "git init" по умолчанию продолжает создаваться ветка "master", но это имя теперь можно изменить. Например, для изменения имени начальной ветки на "main" можно использовать команду:
git config --global init.defaultBranch main
- Добавлены оптимизации производительности, основанные на появлении в файловом формате commit-graph, применяемом для оптимизации доступа к информации о коммитах, поддержки фильтров Блума, вероятностной структуры, допускающей ложное определение отсутствующего элемента, но исключающей пропуск существующего элемента. Указанная структура позволяет заметно ускорить поиск в истории изменений при использовании команд "git log -- <path>" или "git blame".
- В команде "git status" обеспечен вывод информации о прогрессе выполнения операции частичного клонирования (sparse-checkout).
- Для команд семейства "diff" предложена новая настройка "diff.relative".
- При проверке через "git fsck" теперь оценивается сортировка дерева объектов и выявляются неотсортированные элементы.
- Упрощён интерфейс для редактирования конфиденциальной информации в выводе трассировки.
- В сценарии автодополнения ввода добавлена поддержка дополнения опций команды "git switch".
- В "git diff" добавлена поддержка передачи аргументов в разных нотациях ("git diff A..B C", "git diff A..B C...D" и т.п.).
- В команду "git fast-export --anonymize" добавлена возможность задания собственного сопоставления элементов для тонкой настройки вывода, чтобы сделать его более удобным для отладки.
- В "git gui" разрешено открывать рабочие деревья из начального диалога.
- В протоколе "fetch/clone" реализована возможность информирования клиента сервером о необходимости загрузки заранее подготовленных pack-файлов в дополнение к передаваемым упакованным данным объекта.
- Продолжена работа по переходу на алгоритм хеширования SHA-256 вместо SHA-1.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.