Git 2.38 iturburu-kontrolaren bertsioa

Iturburu banatuaren kontrol sistemaren Git 2.38 bertsioa aurkezten da. Git bertsioak kontrolatzeko sistema ezagunenetako, fidagarri eta errendimendu handikoenetariko bat da, eta adarretako eta bateratzeetan oinarritutako garapen-tresna ez-lineal malguak eskaintzen ditu. Historiaren osotasuna eta aldaketa atzerakoiekiko erresistentzia bermatzeko, aurreko historia osoaren hashing inplizitua erabiltzen da konpromiso bakoitzean, eta garatzaileen sinadura digitalekin etiketa eta konpromiso indibidualak egiaztatzeko aukera ere badago.

Aurreko bertsioarekin alderatuta, bertsio berriak 699 aldaketa izan zituen, 92 garatzaileren parte-hartzearekin prestatuak, eta horietatik 24k garapenean parte hartu zuten lehen aldiz. Berrikuntza nagusiak:

  • Egitura nagusiak biltegi handiak kudeatzeko Microsoft-ek garatu duen "eskala" erabilgarritasuna biltzen du. Erabilgarritasuna jatorriz C#-n idatzi zen, baina git-ek C-n bertsio aldatua dakar. Erabilgarritasun berria git komandotik desberdina da, biltegi oso handiekin lan egitean errendimenduan eragina duten funtzio eta ezarpen gehigarriak lehenespenez gaitzen dituelako. Adibidez, eskalarra erabiltzean aplikatzen da:
    • Klonazio partziala biltegiaren kopia osatugabe batekin lan egiteko.
    • Fitxategi-sistemako aldaketen jarraipena egiteko mekanismo integratua (FSMonitor), laneko direktorio osoan bilatu gabe egin ahal izateko.
    • Pakete-fitxategi desberdinetako objektuak biltzen dituzten indizeak (multipack).
    • commit-graph fitxategiak konpromezu-grafikoaren indizea duten konpromezuak informazioa lortzeko sarbidea optimizatzeko.
    • Atzeko planoko aldizkako lana biltegiaren egitura optimoa atzeko planoan mantentzeko, saio interaktiboa blokeatu gabe (lanak orduko behin egiten dira urruneko biltegitik objektu berriak modu proaktiboan deskargatzeko eta fitxategia commit grafikoarekin eguneratzeko eta paketatze prozesua biltegia gauero hasten da).
    • "sparseCheckoutCone" modua, klonazio partzialean baimendutako ereduak mugatzen dituena.
  • --update-refs aukera bat gehitu da "git rebase" komandoan mugitzen diren adarrekin gainjartzen diren menpeko adarrak eguneratzeko, menpeko adar bakoitza eskuz egiaztatu beharrean beharrezko konpromisora ​​aldatzeko.
  • "git rm" komandoa indize partzialekin bateragarria egin du.
  • "git mv AB" komandoaren portaera hobetu da fitxategi bat "kono" moduan indize partzialak dituen lan-eremu batetik modu hori ez duen kanpoko esparru batera eramatean.
  • Bitmap fitxategi-formatua biltegi handiekin lan egiteko optimizatu da - aukerako indize-taula bat gehitu da hautatutako konpromezuen eta haien desplazamenduen zerrendarekin.
  • "git merge-tree" komandoak modu berri bat inplementatzen du, non, zehaztutako bi konpromezuetan oinarrituta, batzearen emaitza duen zuhaitz bat kalkulatzen den, konpromezu horien historiak batu izan balira bezala.
  • "safe.barerepository" ezarpena gehitu da beste git biltegietan biltegi biluziak (lanik gabeko zuhaitzik ez duten biltegiak) ostatatzeko gaitasuna kontrolatzeko. "Espizitua" moduan ezartzen denean, goiko direktorioan soilik dauden biltegi hutsekin lan egin ahal izango da. Azpidirektorioetan biltegi hutsak jarri ahal izateko, erabili "guztiak" balioa.
  • β€œgit grep” komandoak β€œ-m” (β€œβ€”max-count”) aukera gehitu du, GNU grep-en izen bereko aukeraren antzekoa dena eta bistaratzen den partida kopurua mugatzeko aukera ematen duena.
  • "ls-files" komandoak "--format" aukera inplementatzen du irteera-eremuak konfiguratzeko (adibidez, objektuaren izena, moduak, etab. irteera gaitu dezakezu).
  • "git cat-file"-n, objektuen edukia bistaratzen denean, mailmap fitxategian zehaztutako egilearen eta posta elektronikoaren loturak kontuan izan daitezke.

Iturria: opennet.ru

Gehitu iruzkin berria