издаване на разпределена система за управление на изходните текстове . Git е една от най-популярните, надеждни и високопроизводителни системи за управление на версии, предоставяща гъвкави средства за нелинейна разработка, базирани на разклоняване и сливания на клонове. За да се осигури целостта на историята и устойчивостта на промени „заден план“ се използва неявно хеширане на цялата предишна история във всеки комит, също така е възможно удостоверяването с цифрови подписи на разработчиците на отделни тагове и комити.
В сравнение с предишната версия, в новата версия са приети 317 промени, подготвени с участието на 58 разработчици, от които 13 за първи път участват в разработката. Основни :
- Добавена е настройка init.defaultBranch, позволяваща да се избере произволно име на основната клонка, която ще бъде използвана по подразбиране. Настройката е добавена за проекти, на разработчиците на които не им дават мир спомените за робство, а думата „master“ се възприема като обидно намек или предизвиква душевни мъки и чувство на неизкупена вина. , и взеха решение по подразбиране вместо думата „master“ за основни клонки да използват думата „main“. В Git, както и преди, при изпълнение на командата „git init“ по подразбиране продължава да се създава клонка „master“, но това име сега може да бъде променено. Например, за да промените името на началната клонка на „main“, можете да използвате командата:
git config —global init.defaultBranch main
- Добавени са оптимизации на производителността, базирани на появата на файловия формат commit-graph, използван за оптимизация на достъпа до информация за комитите, поддръжка , вероятностна структура, допускаща фалшиво определение на липсващ елемент, но изключваща пропускане на съществуващ елемент. Указаната структура позволява значително да се ускори търсенето в историята на промените при използване на командите „git log — “ или „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.
Източник: opennet.ru
