ПроХостер > блог > интернет вести > Нова верзија Гита 2.28, која дозвољава да се назив "мастер" не користи за главне гране
Нова верзија Гита 2.28, која дозвољава да се назив "мастер" не користи за главне гране
Доступан ослобађање дистрибуираног система за контролу извора Гит 2.28.0. Гит је један од најпопуларнијих, најпоузданијих и система за контролу верзија високих перформанси, који пружа флексибилне нелинеарне развојне алате засноване на гранању и спајању. Да би се обезбедио интегритет историје и отпорност на ретроактивне промене, имплицитно хеширање целокупне претходне историје се користи у сваком урезивању; такође је могуће сертификовати појединачне ознаке и урезивања дигиталним потписима програмера.
По сравнению с прошлым выпуском в новую версию принято 317 изменений, подготовленных при участии 58 разработчиков, из которых 13 впервые приняли участие в разработке. Основные иновације:
Добавлена настройка init.defaultBranch, позволяющая выбрать произвольное имя основной ветки, которое будет применяться по умолчанию. Настройка добавлена для проектов, разработчикам которых не дают покоя воспоминания о рабстве, а слово «master» воспринимается как оскорбительный намёк или навевает душевные муки и чувство неискуплённой вины. ГитХуб, ГитЛаб и Битбуцкет приняли решение по умолчанию вместо слова «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-файлов в дополнение к передаваемым упакованным данным объекта.
Настављен је рад на преласку на алгоритам хеширања СХА-256 уместо СХА-1.