Ослободување на системот за контрола на дистрибуирани извори Git 2.23

Воведени ослободување на систем за контрола на дистрибуирани извори Гит 2.23.0. Git е еден од најпопуларните, доверливи и со високи перформанси системи за контрола на верзии, кој обезбедува флексибилни нелинеарни развојни алатки засновани на разгранување и спојување. За да се обезбеди интегритет на историјата и отпорност на ретроактивни промени, се користи имплицитно хаширање на целата претходна историја во секое извршување, а исто така е можно да се сертифицираат поединечни ознаки и обврски со дигитални потписи на програмери.

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

  • Експерименталните команди „git switch“ и „git restore“ се воведени за да се одделат слабо поврзаните „git checkout“ способности, како што се манипулација со гранки (префрлување и креирање) и враќање на датотеки во работниот директориум („git checkout $commit - $filename“) или веднаш во областа за поставување („—staging“, нема аналог во „git checkout“). Вреди да се напомене дека, за разлика од „git checkout“, „git restore“ ги отстранува неследените датотеки од директориумите што се обновуваат („--no-overlay“ стандардно).
  • Додадена е опцијата „git merge –quit“, која слично на „-abort“, го запира процесот на спојување гранки, но го остава работниот директориум недопрен. Оваа опција може да биде корисна ако некои од промените направени за време на рачно спојување би било пожелно да бидат издадени како посебна заложба.
  • Командите „git clone“, „git fetch“ и „git push“ сега го земаат предвид присуството на обврски во поврзаните складишта (заменици);
  • Додадено опциите „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“ стандардно ги зема предвид промените направени преку мапата по пошта, слично како што веќе го прави git shortlog;
  • Операцијата за ажурирање на експерименталната кеш меморија на графикот за извршување (core.commitGraph) воведена во 2.18 е значително забрзана. Исто така, го направи git for-eve-ref побрз при користење на повеќе шаблони и го намали бројот на повици до автоматско gc во „git fetch —multiple“;
  • „git branch --list“ сега секогаш покажува одвоена HEAD на самиот почеток на листата, без оглед на локацијата.

Извор: opennet.ru

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