Fa pocs dies es va donar a conèixer l'alliberament de la nova versió de Git 2.3, Un dels sistemes de control de versions més populars, fiables i d'alt rendiment, que proporciona eines de desenvolupament no lineals flexibles basades en ramificacions i fusions.
En comparació amb la versió anterior, es van adoptar 679 canvis en la nova versió, preparada amb la participació de 85 desenvolupadors, Dels quals 23 van participar en el desenvolupament per primera vegada.
Principals novetats de Git 2.31
En aquesta nova versió de Git 2.31 es destaca l'addició de la comanda «git maintenance» que permet el treball diari en sistemes que no admeten cron. Per exemple, amb el nou comando, pot fer arranjaments per iniciar periòdicament el procés d'embalatge de l'repositori per no haver d'esperar que es completi el bloqueig de l'repositori quan l'empaquetat es realitza automà ticament quan s'executen diversos ordres.
Un altre dels canvis que es destaca, és que es va agregar suport per mantenir un Ãndex invers al disc (Revindex) per als arxius de paquets, ja que Git emmagatzema totes les dades en forma d'objectes, que s'emmagatzemen en arxius separats. Per millorar l'eficiència de treballar amb el repositori, els objectes es col·loquen addicionalment en arxius de paquet, en què la informació es presenta en forma d'un flux d'objectes que se segueixen un darrere l'altre.
Per a cada paquet-arxiu, es crea un arxiu d'Ãndex (.idx), que permet usar l'identificador d'objecte per determinar molt rà pidament el desplaçament en el paquet-arxiu en el qual s'emmagatzema aquest objecte. L'Ãndex invers (.rev) proposat en Git 2.31 té com a objectiu optimitzar el procés de determinació d'un identificador d'objecte a partir d'informació sobre la ubicació de l'objecte en un arxiu de paquet.
Anteriorment, aquesta conversió es realitzava sobre la marxa durant l'anà lisi d'un arxiu de paquet i s'emmagatzemava només en la memòria, el que no permetia la reutilització d'aquests Ãndexs i obligava a generar l'Ãndex cada vegada. L'operació de construir un Ãndex es Reduir a construir una matriu de parells de posició d'objecte i classificar per posició, el que pot portar molt de temps per a arxius de paquets grans.
D'altra banda, podrem trobar que es van agregar optimitzacions de rendiment basades en l'aparença en el format d'arxiu de l'grà fic de confirmació, Que s'usa per optimitzar l'accés a la informació sobre les confirmacions, noves dades sobre el nombre de generació de les confirmacions, que es poden usar per accelerar les operacions addicionals amb les confirmacions.
A més, es va agregar la capacitat d'anul·lar el nom de branca per defecte en nous repositoris (Configuració init.defaultBranch). A l'accedir a repositoris externs, git intenta verificar la branca a la qual apunta HEAD, és a dir, si el servidor extern està usant la branca «main» per defecte, llavors l'operació «git clone» intentarà buscar «main» localment.
Dels altres canvis que es destaquen:
- L'opció «-disk-use» s'ha afegit als la comanda «git rev-list» per mostrar un resum de la mida dels objectes.
- Es va eliminar el suport per a la biblioteca d'expressions regulars obsoleta PCRE1.
- Es va proporcionar la capacitat de prohibir enèrgicament l'ús de dreceres, actuant independentment de l'algoritme hash. La prohibició s'habilita assignant el valor «no» a l'parà metre core.abbrev.
- L'opció «-path-format s'ha afegit als la comanda« git rev-par-se »per definir explÃcitament la sortida de rutes relatives o absolutes.
- Els scripts de completat automà tic de Bash faciliten l'addició de regles de finalització per als subcomandos personalitzats «git».
- Es va agregar l'opció «-stdin» a la comanda «git bundle» per llegir enllaços de el flux d'entrada està ndard.
- Les opcions «-left-only» i «-right-only» s'han afegit a la comanda «git range-diff» per mostrar només un costat de la franja comparat.
- Es va agregar l'opció «-skip-to = »A la comanda« git difftool »per reprendre una sessió interrompuda des d'una ruta arbitrà ria.
- El Codi de Conducta (Codi de conducta), que defineix els principis bà sics per a la resolució de conflictes entre desenvolupadors, ha estat actualitzat a la versió 2.0 (anteriorment s'utilitzava la versió 1.4).
Finalment si vols conèixer més a l'respecte, Pots consultar el següent enllaç.