Izdanje distribuiranog sistema izvorne kontrole Git 2.23

Poslao oslobađanje distribuiranog sistema kontrole izvora git 2.23.0. Git je jedan od najpopularnijih, najpouzdanijih i sistema za kontrolu verzija visokih performansi koji pruža fleksibilne nelinearne razvojne alate zasnovane na grananju i spajanju grana. Da bi se osigurao integritet istorije i otpornost na promene u retrospektivi, koristi se implicitno heširanje celokupne prethodne istorije u svakom urezivanju, takođe je moguće proveriti digitalne potpise programera pojedinačnih oznaka i urezivanja.

U odnosu na prethodnu verziju, nova verzija je uključivala 505 izmjena, pripremljenih uz učešće 77 programera, od kojih je 26 prvi put učestvovalo u razvoju. Basic inovacije:

  • Eksperimentalne naredbe "git switch" i "git restore" uvedene su za razdvajanje slabo povezanih "git checkout" mogućnosti, kao što je manipulacija granama (prebacivanje i kreiranje) i vraćanje datoteka u radni direktorij ("git checkout $commit - $filename") ili odmah u scenskom području (“—staging”, nema analoga u “git checkout-u”). Vrijedi napomenuti da, za razliku od "git checkout", "git restore" uklanja datoteke koje nisu praćene iz direktorija koji se vraćaju ("--no-overlay" prema zadanim postavkama).
  • Dodata opcija “git merge –quit” koja, slično kao i “-abort”, zaustavlja proces spajanja grana, ali ostavlja radni direktorij netaknutim. Ova opcija može biti korisna ako bi bilo poželjno da se neke promjene napravljene tokom ručnog spajanja izdaju kao zasebno urezivanje.
  • Naredbe "git clone", "git fetch" i "git push" sada uzimaju u obzir prisustvo urezivanja u povezanim spremištima (zamjenici);
  • Dodano opcije “git blame —ignore-rev” i “—ignore-revs-file” omogućavaju vam da preskočite urezivanje koji unosi manje promjene (na primjer, popravke formatiranja);
  • Dodata opcija “git cherry-pick —skip” za preskakanje konfliktnog urezivanja (zapamćeni analog sekvence “git reset && git cherry-pick —continue”);
  • Dodata postavka status.aheadBehind, koja trajno popravlja opciju “git status -[no-]ahead-behind”;
  • Od ovog izdanja, "git log" podrazumevano uzima u obzir promene koje je napravio mailmap, slično kao što git shortlog već radi;
  • Operacija ažuriranja eksperimentalne keš memorije grafa urezivanja (core.commitGraph) uvedena u 2.18 je značajno ubrzana. Takođe je učinio git za-svaki-ref bržim kada se koristi više šablona i smanjio broj poziva auto-gc-u u „git dohvati —više“;
  • "git grana --list" sada uvijek prikazuje odvojenu GLAVU na samom početku liste, bez obzira na lokalizaciju.

izvor: opennet.ru

Dodajte komentar