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.