Vydání distribuovaného systému řízení zdrojů Git 2.23

Předložené vydání distribuovaného systému řízení zdrojů Git 2.23.0. Git je jedním z nejpopulárnějších, spolehlivých a vysoce výkonných systémů pro správu verzí, který poskytuje flexibilní nelineární vývojové nástroje založené na větvení a slučování. Pro zajištění integrity historie a odolnosti vůči retroaktivním změnám se používá implicitní hashování celé předchozí historie v každém commitu a také je možné jednotlivé tagy a commity certifikovat digitálními podpisy vývojářů.

Oproti předchozí verzi obsahovala nová verze 505 změn, připravených za účasti 77 vývojářů, z nichž 26 se podílelo na vývoji poprvé. Základní inovace:

  • Experimentální příkazy „git switch“ a „git restore“ jsou zavedeny pro samostatné volně spojené funkce „git checkout“, jako je manipulace s větvemi (přepínání a vytváření) a obnova souborů v pracovním adresáři („git checkout $commit – $filename“) nebo přímo v oblasti staging („—staging“, nemá obdobu v „git checkout“). Stojí za zmínku, že na rozdíl od "git checkout" "git restore" odstraní nesledované soubory z obnovovaných adresářů (ve výchozím nastavení "--no-overlay").
  • Přidána možnost „git merge –quit“, která podobně jako „-abort“ zastaví proces slučování větví, ale ponechá pracovní adresář nedotčený. Tato možnost může být užitečná, pokud by některé změny provedené během ručního sloučení bylo vhodnější vydat jako samostatný odevzdání.
  • Příkazy „git clone“, „git fetch“ a „git push“ nyní berou v úvahu přítomnost commitů v propojených úložištích (náhradníci);
  • Přidal volby „git obvinění —ignore-rev“ a „—ignore-revs-file“ umožňují přeskočit revize, které provádějí drobné změny (například opravy formátování);
  • Přidána možnost „git cherry-pick —skip“ pro přeskočení konfliktního odevzdání (zapamatovaná obdoba sekvence „git reset && git cherry-pick —continue“);
  • Přidáno nastavení status.aheadBehind, které trvale opravuje volbu „git status -[no-]ahead-behind“;
  • Od tohoto vydání „git log“ ve výchozím nastavení bere v úvahu změny provedené mapou pošty, podobně jako to již dělá git shortlog;
  • Operace aktualizace experimentální mezipaměti grafu odevzdání (core.commitGraph) zavedená ve verzi 2.18 byla výrazně urychlena. Také zrychlil git for-each-ref při použití více šablon a snížil počet volání auto-gc v „git fetch —multiple“;
  • "git branch --list" nyní vždy zobrazuje oddělenou HEAD na samém začátku seznamu, bez ohledu na národní prostředí.

Zdroj: opennet.ru

Přidat komentář