Git 2.38 lähdeohjausjulkaisu

Hajautetun lähteen ohjausjärjestelmän Git 2.38 julkaisu on ilmoitettu. Git on yksi suosituimmista, luotettavimmista ja tehokkaimmista versionhallintajärjestelmistä, joka tarjoaa joustavia epälineaarisia kehitystyökaluja, jotka perustuvat haarautumiseen ja yhdistämiseen. Historian eheyden ja taannehtivien muutosten kestävyyden varmistamiseksi jokaisessa sitoumuksessa käytetään koko aikaisemman historian implisiittistä hajautusta, ja yksittäiset tagit ja sitoumukset on myös mahdollista varmentaa kehittäjien digitaalisilla allekirjoituksilla.

Edelliseen julkaisuun verrattuna uusi versio sisälsi 699 muutosta, jotka valmisteltiin 92 kehittäjän osallistuessa, joista 24 osallistui kehitykseen ensimmäistä kertaa. Tärkeimmät innovaatiot:

  • Päärakenne sisältää "skalaari"-apuohjelman, jonka Microsoft on kehittänyt suurten tietovarastojen hallintaan. Apuohjelma kirjoitettiin alun perin C#:lla, mutta git sisältää muunnetun version C-kielellä. Uusi apuohjelma eroaa git-komennosta sallimalla oletuksena lisäominaisuuksia ja asetuksia, jotka vaikuttavat suorituskykyyn, kun työskennellään erittäin suurten tietovarastojen kanssa. Esimerkiksi skalaaria käytettäessä se pätee:
    • Osittainen kloonaus toimiakseen arkiston epätäydellisen kopion kanssa.
    • Sisäänrakennettu mekanismi tiedostojärjestelmän muutosten seurantaan (FSMonitor), jonka avulla voit tehdä ilman etsimistä koko työhakemistosta.
    • Indeksit, jotka kattavat objektit eri pakkaustiedostoissa (multi-pack).
    • commit-graph-tiedostoja, joissa on toimitusgraafi-indeksi, jota käytetään toimitustietojen käytön optimointiin.
    • Säännöllinen taustatyö arkiston optimaalisen rakenteen ylläpitämiseksi taustalla estämättä interaktiivista istuntoa (työtä tehdään kerran tunnissa uusien objektien ennakoimiseksi lataamiseksi etäarkistosta ja tiedoston päivittämiseksi toimituskaaviolla ja pakkausprosessilla arkisto käynnistetään joka ilta).
    • "sparseCheckoutCone" -tila, joka rajoittaa sallittuja kuvioita osittaisen kloonauksen aikana.
  • Lisätty --update-refs -vaihtoehto "git rebase" -komentoon päivittääksesi riippuvat haarat, jotka menevät päällekkäin siirrettävien haarojen kanssa, sen sijaan, että tarvittaisiin manuaalisesti tarkistaa jokainen riippuvainen haara vaihtaaksesi vaadittuun vahvistukseen.
  • Teki "git rm" -komennosta yhteensopivan osittaisten indeksien kanssa.
  • Parannettu "git mv AB" -komennon toimintaa siirrettäessä tiedostoa työtilasta, jossa on osittaiset indeksit "kartio"-tilassa, ulkoiseen alueeseen, jossa ei ole tätä tilaa.
  • Bittikarttatiedostomuoto on optimoitu työskentelyyn suurten arkiston kanssa - valinnainen indeksitaulukko on lisätty luetteloineen valituista toimituksista ja niiden siirtymistä.
  • "git merge-tree" -komento toteuttaa uuden tilan, jossa kahden määritellyn toimituksen perusteella lasketaan puu yhdistämisen tuloksella, ikään kuin näiden toimitusten historiat olisi yhdistetty.
  • Lisätty "safe.barerepository"-asetus hallitsemaan kykyä isännöidä paljaita arkistoita (arkistot, jotka eivät sisällä toimivaa puuta) muiden git-tietovarastojen sisällä. Kun asetus on "eksplisiitti", on mahdollista työskennellä vain ylimmässä hakemistossa sijaitsevien paljaiden tietovarastojen kanssa. Jos haluat sijoittaa paljaita tietovarastoja alihakemistoihin, käytä "kaikki"-arvoa.
  • "git grep" -komento on lisännyt "-m" ("—max-count") -vaihtoehdon, joka on samanlainen kuin samanniminen vaihtoehto GNU grepissä ja jonka avulla voit rajoittaa näytettävien osumien määrää.
  • "ls-files" -komento toteuttaa "--format" -vaihtoehdon tuloskenttien määrittämiseksi (voit esimerkiksi ottaa käyttöön objektin nimen, tilat jne.).
  • "git cat-file" -kohdassa objektien sisältöä näytettäessä on mahdollista ottaa huomioon postikarttatiedostossa määritetyt tekijä-sähköpostisidokset.

Lähde: opennet.ru

Lisää kommentti