Vydanie distribuovaného zdrojového riadiaceho systému Git 2.23

Predloženej uvoľnenie distribuovaného systému riadenia zdroja Git 2.23.0. Git je jedným z najpopulárnejších, najspoľahlivejších a najvýkonnejších systémov na správu verzií, ktorý poskytuje flexibilné nelineárne vývojové nástroje založené na vetvení a zlučovaní. Na zabezpečenie integrity histórie a odolnosti voči retroaktívnym zmenám sa používa implicitné hashovanie celej predchádzajúcej histórie v každom commite a taktiež je možné jednotlivé tagy a commity certifikovať digitálnymi podpismi vývojárov.

Oproti predchádzajúcemu vydaniu obsahovala nová verzia 505 zmien, pripravených za účasti 77 vývojárov, z ktorých 26 sa podieľalo na vývoji po prvýkrát. Základné inovácie:

  • Experimentálne príkazy „git switch“ a „git restore“ sú zavedené na oddelenie voľne spojených funkcií „git checkout“, ako je manipulácia s vetvami (prepínanie a vytváranie) a obnova súborov v pracovnom adresári („git checkout $commit – $filename“) alebo bezprostredne v oblasti stagingu („—staging“, nemá obdobu v „git checkout“). Stojí za zmienku, že na rozdiel od "git checkout" "git restore" odstraňuje nesledované súbory z adresárov, ktoré sa obnovujú (v predvolenom nastavení "--no-overlay").
  • Pridaná možnosť „git merge –quit“, ktorá podobne ako „-abort“ zastaví proces zlučovania vetiev, no ponecháva pracovný adresár nedotknutý. Táto možnosť môže byť užitočná, ak by bolo vhodnejšie vydať niektoré zo zmien vykonaných počas manuálneho zlúčenia ako samostatné odovzdanie.
  • Príkazy „git clone“, „git fetch“ a „git push“ teraz zohľadňujú prítomnosť potvrdení v prepojených úložiskách (striedajú);
  • Pridané voľby „git Viniť —ignore-rev“ a „—ignore-revs-file“ vám umožňujú preskočiť odovzdania, ktoré robia menšie zmeny (napríklad opravy formátovania);
  • Pridaná možnosť „git cherry-pick —skip“ na preskočenie konfliktného odovzdania (zapamätaná analógia sekvencie „git reset && git cherry-pick —continue“);
  • Pridané nastavenie status.aheadBehind, ktoré natrvalo opravuje možnosť „git status -[no-]ahead-behind“;
  • Od tohto vydania "git log" štandardne zohľadňuje zmeny vykonané mailmapou, podobne ako to už robí git shortlog;
  • Operácia aktualizácie experimentálnej vyrovnávacej pamäte grafu odovzdania (core.commitGraph) zavedená vo verzii 2.18 sa výrazne zrýchlila. Tiež zrýchlil git for-each-ref pri použití viacerých šablón a znížil počet volaní auto-gc v „git fetch —multiple“;
  • "git branch --list" teraz vždy zobrazuje oddelenú HEAD na samom začiatku zoznamu, bez ohľadu na miestne nastavenie.

Zdroj: opennet.ru

Pridať komentár