vydanie distribuovaného systému správy zdrojového kódu . Git je jedným z najpopulárnejších, najspoľahlivejších a najvýkonnejších systémov správy verzií, poskytujúc flexibilné prostriedky pre nelineárny vývoj založené na vetvení a zlúčení vetiev. Na zabezpečenie integrity histórie a odolnosti voči zmenám "zpětně" sa používa implicitné hashovanie celej predchádzajúcej histórie v každom commite, rovnako je možné autentifikovať digitálnymi podpisami vývojárov jednotlivé tagy a commits.
V porovnaní s predchádzajúcou verziou bola do novej verzie prijatá 537 zmien, ktoré pripravilo 71 vývojárov, z ktorých 19 sa zúčastnilo vývoja prvýkrát. Hlavné :
- Zrušené predvolené zahrnutie zavedené v predchádzajúcej verzii komunikačného protokolu Git, ktorý sa používa pri vzdialenom pripojení klienta k Git serveru. Protokol sa zatiaľ považuje za nepripravený na použitie ako predvolené kvôli odhaleniu problematických bodov, ktoré si vyžadujú samostatné zváženie.
- Pridaná sada možností na nastavenie SSL pripojenia pri komunikácii cez proxy.
- Rozšírené informácie, ktoré sa vypisujú pri použití transformujúcich filtrov „clean“ a „smudge“. Napríklad, teraz sa zobrazuje objekt , v ktorom sa objavuje transformovaný blob.
- Aby sa predišlo zmätku, príkaz „git describe“ teraz vždy používa rozšírený režim výstupu („—long“), ak bola zistená s príkazom spojená premenovaná značka (skôr, podpisová alebo anotovaná značka opisujúca príkaz sa vypisovala, aj keď bola premenovaná alebo presunutá v hierarchii „refs/tags/“, a príkaz „git show tag^0“ nefungoval, ako sa očakávalo – „refs/tags/tag“ nebol nájdený alebo dokonca bola vrátená už iná značka).
- Pri vykonávaní „git pull“ teraz vychádza varovanie, ak nie je jasne zadaná konfiguračná premenná pull.rebase a nie sú použité možnosti „—[no-]rebase“ alebo „—ff-only“. Na potlačenie varovania môžu tí, ktorí nemajú v úmysle vykonať operáciu rebase, nastaviť premennú na hodnotu „false“.
- Bola vykonaná revízia možností „git pull“, ktoré sú spoločné s „git fetch“. Doteraz nespomenuté podobné možnosti sú zdokumentované a zabezpečený prenos vynechaných možností do „git fetch“.
- Do príkazu „git rebase“ bola pridaná možnosť „—no-gpg-sign“ na prekonanie nastavenia „commit.gpgSign“.
- Do „git format-patch“ bola pridaná možnosť zobraziť hlavičky „From:“ a „Subject:“ v nezmenenej forme, bez transformácie znakov, ktoré nie sú v kódovaní ASCII.
- Do „git log“ bola pridaná možnosť „—show-pulls“, ktorá umožňuje zobraziť nielen commity, v ktorých došlo k zmenám, ale aj commit na zlúčenie týchto zmien z inej vetvy.
- Unifikované spracovanie interaktívneho vstupu vo všetkých komponentoch a pridané volanie fflush() po zobrazení výzvy na vstup, ale pred operáciou čítania.
- V "git rebase" je povolené bez predchádzajúceho vykonania operácie "checkout" opäť aplikovať všetky miestne commity, aj keď niektoré z nich už boli odovzdané do upstream.
- Hodnota konfiguračnej premennej ‘pack.useSparse’ bola zmenená na ‘true’ pre predvolené povolenie optimalizácií, ktoré boli predtým prezentované ako experimentálne.
- V "git merge" bola pridaná možnosť "—autostash".
- Vylepšené rozhranie "sparse-checkout".
- V "git update-ref —stdin" bolo pridaných niekoľko nových akcií,
ktoré umožňujú priamu kontrolu transakcií aktualizácie odkazov, napríklad na realizáciu dvojstupňovej atomárnej aktualizácie odkazov v niekoľkých repozitároch. - Boli pridané šablóny userdiff pre dokumenty Markdown.
- Odstránené obmedzenie na vylúčenie všetkých ciest v šablónach sparse-checkout, čo by viedlo k prázdnemu pracovného stromu.
- Operácia "git restore —staged —worktree" teraz predvolene používa obsah zo vetvy "HEAD", namiesto vyhlásenia chyby.
- Pokračuje sa v práci na prechode na hashovaciu algoritmus SHA-2 namiesto SHA-1.
- Prepracovaný kód pre interakciu s GnuPG.
Zdroj: opennet.ru
