Izdanje distribuiranog sustava kontrole izvora Git 2.23

Predstavljeno izdanje distribuiranog sustava kontrole izvora Git 2.23.0. Git je jedan od najpopularnijih, pouzdanih i visokoučinkovitih sustava za kontrolu verzija, koji pruža fleksibilne nelinearne razvojne alate temeljene na grananju i spajanju. Kako bi se osigurala cjelovitost povijesti i otpornost na retroaktivne promjene, koristi se implicitno hashiranje cijele prethodne povijesti u svakom commitu, a također je moguće certificirati pojedinačne oznake i commitove digitalnim potpisima programera.

U usporedbi s prethodnim izdanjem, nova verzija je uključivala 505 promjena, pripremljenih uz sudjelovanje 77 programera, od kojih je 26 prvi put sudjelovalo u razvoju. Osnovni, temeljni inovacije:

  • Uvedene su eksperimentalne naredbe "git switch" i "git restore" za odvajanje labavo povezanih mogućnosti "git checkout", kao što je manipulacija granama (prebacivanje i stvaranje) i vraćanje datoteka u radni direktorij ("git checkout $commit - $filename") ili odmah u staging području (“—staging”, nema analogije u “git checkout”). Vrijedno je napomenuti da, za razliku od "git checkout", "git restore" uklanja nepraćene datoteke iz direktorija koji se vraćaju ("--no-overlay" prema zadanim postavkama).
  • Dodana je 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 od promjena napravljenih tijekom ručnog spajanja izdaju kao zasebno predavanje.
  • Naredbe "git clone", "git fetch" i "git push" sada uzimaju u obzir prisutnost obveza u povezanim spremištima (zamjenici);
  • Dodano opcije “git blame —ignore-rev” i “—ignore-revs-file” omogućuju vam preskakanje obveza koje čine manje promjene (na primjer, popravke formatiranja);
  • Dodana je opcija “git cherry-pick —skip” za preskakanje sukobljenog predavanja (zapamćeni analog niza “git reset && git cherry-pick —continue”);
  • Dodana je postavka status.aheadBehind, koja trajno popravlja opciju "git status -[no-]ahead-behind";
  • Od ovog izdanja, "git log" prema zadanim postavkama uzima u obzir promjene koje je napravio mailmap, slično kao što git shortlog već radi;
  • Operacija ažuriranja eksperimentalne predmemorije grafa predaje (core.commitGraph) uvedene u 2.18 značajno je ubrzana. Također je učinio git for-each-ref bržim pri korištenju više predložaka i smanjio broj poziva na auto-gc u “git fetch —multiple”;
  • "git branch --list" sada uvijek prikazuje odvojeni HEAD na samom početku popisa, bez obzira na lokalizaciju.

Izvor: opennet.ru

Dodajte komentar