Nova verzija Gita 2.28, koja vam omogućava da izbjegnete korištenje imena "master" za glavne grane

Dostupno oslobađanje distribuiranog sistema kontrole izvora git 2.28.0. Git je jedan od najpopularnijih, najpouzdanijih i najučinkovitijih sistema kontrole verzija, koji pruža fleksibilne nelinearne razvojne alate zasnovane na grananju i spajanju. Da bi se osigurao integritet istorije i otpornost na retroaktivne promene, koristi se implicitno heširanje celokupne prethodne istorije u svakom urezivanju, a moguće je i sertifikovati pojedinačne oznake i urezivanja digitalnim potpisima programera.

По сравнению с прошлым выпуском в новую версию принято 317 изменений, подготовленных при участии 58 разработчиков, из которых 13 впервые приняли участие в разработке. Основные inovacije:

  • Добавлена настройка init.defaultBranch, позволяющая выбрать произвольное имя основной ветки, которое будет применяться по умолчанию. Настройка добавлена для проектов, разработчикам которых не дают покоя воспоминания о рабстве, а слово «master» воспринимается как оскорбительный намёк или навевает душевные муки и чувство неискуплённой вины. GitHub, GitLab и Bitbucket приняли решение по умолчанию вместо слова «master» для основных веток использовать слово «main». В Git, как и раньше, при выполнении команды «git init» по умолчанию продолжает создаваться ветка «master», но это имя теперь можно изменить. Например, для изменения имени начальной ветки на «main» можно использовать команду:

    git config —global init.defaultBranch main

  • Добавлены оптимизации производительности, основанные на появлении в файловом формате commit-graph, применяемом для оптимизации доступа к информации о коммитах, поддержки cvjetni filteri, вероятностной структуры, допускающей ложное определение отсутствующего элемента, но исключающей пропуск существующего элемента. Указанная структура позволяет заметно ускорить поиск в истории изменений при использовании команд «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-файлов в дополнение к передаваемым упакованным данным объекта.
  • Nastavljen je rad na prelasku na SHA-256 algoritam heširanja umjesto SHA-1.

izvor: opennet.ru

Dodajte komentar