Git 2.36 už vyšiel a toto sú jeho novinky

Po troch mesiacoch vývoja bola vydaná nová verzia systému ovládania distribuovaného zdrojového kódu «Git 2.36» jeden 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 vidliciach a zlučovaní vidlíc.

Na zabezpečenie integrity histórie a odolnosti voči „spätným“ zmenám sa pri každom odovzdaní používa implicitný hash celej predchádzajúcej histórie. Taktiež je možné overiť digitálne podpisy vývojárov jednotlivých štítkov a potvrdení.

Kľúčové nové funkcie Git 2.36

Oproti predchádzajúcemu vydaniu bolo v novej verzii, pripravovanej za účasti 717 vývojárov, prijatých 96 zmien, z ktorých 26 sa podieľalo na vývoji prvýkrát. Hlavné inovácie:

Možnosť „–remerge-diff“ pridaný do príkazov „git log“ a „git show“ na zobrazenie rozdielov medzi celkovým výsledkom zlúčenia a skutočnými údajmi premietnutými do odovzdania po spracovaní príkazu „zlúčiť“, ktorý vám umožňuje vizuálne posúdiť zmeny vykonané v dôsledku riešenia konfliktu pri zlúčení. Zvyčajný príkaz „git show“ oddeľuje rôzne riešenia konfliktov odsadením, čo sťažuje pochopenie zmien.

Pri použití opcie „–remerge-diff“, rozdiely medzi riešeniami konfliktov nie sú oddelené pre každú nadradenú vetvu, ale sú zobrazené celkové rozdiely medzi súborom, ktorý má konflikty pri zlúčení, a súborom, ktorý konflikty vyriešil.

Ďalšou pozoruhodnou zmenou je zlepšená flexibilita pri prispôsobovaní správania z vyprázdnenia vyrovnávacej pamäte disku pomocou volania funkcie fsync(). Parameter core.fsyncObjectFiles predtým dostupný bol rozdelený do dvoch konfiguračných premenných core.fsync a core.fsyncMetóda, ktorý poskytuje možnosť aplikovať fsync nielen na objektové súbory (.git/objects), ale aj na iné git štruktúry, ako sú refs (.git /refs), reflog a súbory balíkov.

cez premennú core.fsync, môžete zadať zoznam interných štruktúr Git, po operácii zápisu, pre ktorú sa dodatočne zavolá fsync. Premenná core.fsyncMetóda vám umožňuje vybrať metódu vyprázdnenia vyrovnávacej pamäte, napríklad môžete vybrať fsync na použitie systémového volania s rovnakým názvom alebo zadať len zápis na použitie čakajúceho lazywritingu (lazywriting cache stránok).

Na ochranu pred zraniteľnosťami ktoré sa starajú o nahradenie adresárov .git inými používateľmi na zdieľaných oddieloch, overenie vlastníka úložiska bolo posilnené. Teraz je povolené spúšťanie akýchkoľvek príkazov git v ich vlastných adresároch „.git“. Ak adresár úložiska vlastní iný používateľ, štandardne sa vygeneruje chyba. Toto správanie je možné vypnúť pomocou nastavenia zabezpečeného adresára.

Je tiež zdôraznené, že pridaná možnosť „–batch-command“ do príkazu „git cat-file“, ktorý je určený na generovanie pôvodného obsahu objektov Git, ktorý dopĺňa príkazy „–batch“ a „–batch-check“ predtým dostupné s možnosťou adaptívneho výberu typu výstupu prostredníctvom „obsahu » na zobrazenie obsahu alebo «informácií » na zobrazenie informácií o objekte. Tiež je podporovaný príkaz "flush" na vyprázdnenie výstupnej vyrovnávacej pamäte.

Na druhej strane sa zdôrazňuje, že pridaná možnosť „–oid-only“ („–object-only“) na príkaz "git ls-tree", ktorý je navrhnutý tak, aby vypísal obsah stromu objektov, ktorý analogicky s "–name -only" zobrazuje iba identifikátory objektov na zjednodušenie volaní zo skriptov. Implementovaná je aj možnosť „–formát“, ktorá vám umožňuje definovať vlastný výstupný formát kombináciou informácií o režime, type, názve a veľkosti.

Z ďalších zmien ktoré vyčnievajú z tejto novej verzie:

  • V príkaze „git bisect run“ je implementovaná definícia nenastavovania znamienka spustiteľného súboru pre skript a generovania chýb s kódmi 126 alebo 127 v tomto prípade (predtým, ak sa skript nedal spustiť, všetky kontroly boli označené ako problémy).
  • Do príkazu „git fetch“ bola pridaná voľba „–refetch“ na načítanie všetkých objektov bez informovania druhej strany o obsahu, ktorý sa už nachádza v lokálnom systéme. Toto správanie môže byť užitočné na obnovenie stavu po zlyhaniach, keď existuje neistota týkajúca sa integrity miestnych údajov.
  • Príkazy „git update-index“, „git checkout-index“, „git read-tree“ a „git clean“ teraz podporujú čiastočné indexovanie (riedky index), aby sa zlepšil výkon a ušetrilo miesto v úložiskách, ktoré vykonávajú čiastočné operácie. (slabá platba).
  • Zmenené správanie príkazu „git clone –filter=… –recurse-submodules“, čo teraz vedie k čiastočnému klonovaniu podmodulov (predtým sa pri vykonávaní takýchto príkazov filter aplikoval len na hlavný obsah a podmoduly sa úplne klonovali bez toho, zohľadniť filter).
  • Pridaná podpora pre špecifikáciu filtrov pre selektívne umiestnenie obsahu v príkaze „git bundle“, podobne ako pri operáciách čiastočného klonovania.
  • Pridaná možnosť „–recurse-submodules“ do príkazu „git branch“ na rekurzívne prechádzanie submodulmi.
    Userdiff navrhol nový ovládač pre jazyk Kotlin.

Konečne ak máte záujem dozvedieť sa o tom viac o tejto novej verzii Git 2.36 si môžete prečítať podrobnosti v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.