Bolo prezentované spustenie novej verzie systému Git 2.22. Git je jeden z najpopulárnejších, najspoľahlivejších a najvýkonnejších systémov na správu verzií a poskytuje aj vývojové nástroje.
Na zabezpečenie integrity histórie a odolnosti voči zmenám pri spätnom pohľade sa pri každom potvrdení používa implicitné hashovanie celej predchádzajúcej histórie a je možné overiť aj digitálne podpisy jednotlivých vývojárov značiek a potvrdení.
V porovnaní s predchádzajúcou verziou bolo v novej verzii vykonaných 745 zmien, na príprave ktorých sa podieľalo 74 vývojárov, z ktorých 18 sa na vývoji podieľalo prvýkrát.
Kľúčové nové funkcie Git 2.22
Na zobrazenie aktuálne používanej lokálnej vetvy môžete teraz použiť príkaz „git branch-show-current “.
Okrem toho je od verzie 1.18 k dispozícii nový režim prenosu pre sadu commitov „ git rebase --rebase-merges “ , ktorý nahradil predchádzajúcu možnosť „ --preserve-merges “, ktorá je teraz označená ako zastaraná.
Na zachovanie štruktúry vetiev v prenosnej vetve môžete použiť možnosť „ --preserve-merges “, ktorá pri spustení v interaktívnom režime ( git rebase -i --preserve-merges ) umožňovala úpravu histórie commitov, ale nezaručovala úplné zachovanie štruktúry repozitára.
Nástupnícky režim „ --rebase-merges “ vám umožňuje zachovať štruktúru zmien v prenosnej vetve a zároveň poskytuje kompletnú sadu interaktívnych operácií vrátane mazania, preskupovania a premenovania commitov.
Napríklad „ --rebase-merges “ umožňuje commity z oddelenej vetvy do novšej hlavnej vetvy, pričom sa zachová štruktúra vetvy v prenosnej vetve a vykonajú sa určité zmeny v poznámkach, aby sa commity vykonávali za chodu.
Operácia „ git rebase “ sa používa na nahradenie série commitov novým základným commitom, napríklad na zmenu samostatnej vetvy, kde sa vyvíja nejaká nová funkcia, na aktuálny stav hlavnej vetvy vrátane akýchkoľvek opráv pridaných po vetve.
Úžasná podpora backendu
Správa ` git bisect` bola aktualizovaná a teraz je čitateľnejšia , zatiaľ čo ` git mergetool` teraz podporuje aj Sublime Merge (` smerge` ) ako backend. Git volá nový hook ` post-index-change` , keď sa zmení uložený indexový súbor, čo pomáha s virtualizovanými pracovnými stromami.
Okrem toho, príkaz „ git difftoo l“ teraz beží aj mimo repozitára a ruší príkaz „ git checkout -m <other> “, keď zistí rozdiel medzi HEAD a indexom.
Pretože zabalenie indexu v procese klonovania niekedy trvá dlho, vývojári vám ponúkli indikátor priebehu.
Zároveň ` git clone` komunikuje prostredníctvom verzie 2 protokolu vďaka novej možnosti servera ` switch` . Niekoľko funkcií vylepšuje dokončovanie kódu a vývojári pracovali aj na nástroji na sledovanie trace2.
Nový mechanizmus sledovania Trace2 ponúka flexibilnejší a štruktúrovanejší výstupný formát. Trace2 umožňuje zhromažďovanie prevádzkových telemetrických a výkonnostných údajov pre podrobnejšiu analýzu a ladenie (používateľ priraďuje ovládač; žiadne údaje sa neodosielajú externe).
Výkon a rozvoj
Vstavaný diferenciálny mechanizmus Gitu bol prepísaný a teraz podporuje ` git commit-tree` a API ` pack-redundant` a ` git multi-pack-index verify` teraz fungujú rýchlejšie v repozitároch obsahujúcich veľa súborov balíčkov. Pre vývojárov bol aktualizovaný aj testovací framework.
Nedávno bol v jazyku C implementovaný príkaz ` git stash` pre ` git rebase` . Implementácia v jazyku C bola aktualizovaná , aby sa zabránilo opakovanému prepisovaniu toho istého súboru zo strany Gitu. ` git diff` teraz beží rýchlejšie aj v špeciálnych scenároch, kde zhromažďuje informácie o objektoch blob. V neposlednom rade `git clone` zrýchľuje proces pripájania.
Taktiež bola pridaná možnosť filtrovať, keď sa zobrazia rozšírené značky „git log“ pripojené k potvrdeniam.