Издание на разпределената система за управление на изходния код Git 2.23

Представено издаване на разпределена система за управление на изходните текстове Git 2.23.0. Git е една от най-популярните, надеждни и високопроизводителни системи за управление на версии, предлагаща гъвкави инструменти за нелинейно разработване, основани на разклонения и сливане на клонове. За да се гарантира целостта на историята и устойчивостта на измененията с обратна дата, се използва неявно хеширане на цялата предишна история във всеки комит, също така е възможно удостоверяване с цифрови подписи на отделни тагове и комити от разработчиците.

В сравнение с предишното издание, в новата версия са приети 505 изменения, подготвени с участието на 77 разработчици, от които 26 участват за първи път в разработването. Основните нововъведения:

  • Представени са експерименталните команди „git switch“ и „git restore“, предназначени да разделят не свързаните помежду си възможности на „git checkout“, като манипулиране на клонове (превключване и създаване) и възстановяване на файлове в работната директория („git checkout $commit — $filename“) или веднага в staging area („—staging“, няма аналог в „git checkout“). Струва си да се отбележи, че за разлика от „git checkout“, „git restore“ премахва неотслежвани файлове от възстановяваните директории („—no-overlay“ по подразбиране).
  • Добавена е опцията „git merge —quit“, която, подобно на „—abort“, спира процеса на сливане на клонове, но оставя работната директория непокътната. Тази опция може да бъде полезна, ако част от измененията, направени по време на ръчно сливане, по-добре е да се оформят като отделен комит.
  • Командите „git clone“, „git fetch“ и „git push“ сега вземат предвид наличието на комити в свързаните репозитории (alternates);
  • Добавени са опциите „git blame —ignore-rev“ и „—ignore-revs-file“, позволяващи да се пропуснат комити, в които са направени незначителни корекции (например, корекции на форматирането);
  • Добавена е опцията „git cherry-pick —skip“ за пропускане на конфликтен комит (запомнящ се аналог на последователността „git reset && git cherry-pick —continue“);
  • Добавена е настройката status.aheadBehind, която фиксира опцията „git status —[no-]ahead-behind“ на постоянна основа;
  • С това издание „git log“ по подразбиране взема предвид промените, направени от mailmap, по подобие на начина, по който вече се случва в git shortlog;
  • Операцията за обновяване на експерименталната кеш система на графа на комитите (core.commitGraph) в версия 2.18 е значително ускорена. Също така е направено подобрение в команда git for-each-ref при използване на множество шаблони и е намален броят на повикванията на auto-gc при "git fetch --multiple".
  • "git branch --list" сега винаги показва detached HEAD в началото на списъка, независимо от локализацията.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster