Нова верзија Гита 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.

Извор: опеннет.ру

Додај коментар