Git 2.36 a fost deja lansat și acestea sunt noutățile sale

După trei luni de dezvoltare Noua versiune a sistemului a fost lansată controlul codului sursă distribuit «git 2.36» unul dintre cele mai populare, fiabile și de înaltă performanță sisteme de control al versiunilor care oferă instrumente flexibile de dezvoltare neliniară bazate pe ramuri și îmbinări de ramuri.

Pentru a asigura integritatea istoriei și rezistența la modificările „retroactive”, hash-ul implicit al întregii istorii anterioare este utilizat în fiecare comitere. De asemenea, este posibil să se verifice semnăturile digitale ale dezvoltatorilor de etichete individuale și confirmările.

Git 2.36 Caracteristici noi cheie

În comparație cu versiunea anterioară, 717 modificări au fost acceptate în noua versiune, pregătită cu participarea a 96 de dezvoltatori, dintre care 26 au participat pentru prima dată la dezvoltare. Principalele inovații:

Opțiunea „–remerge-diff” adăugat la comenzile „git log” și „git show” pentru a afișa diferențele între rezultatul global al îmbinării și datele reale reflectate în commit după procesarea comenzii de îmbinare, ceea ce vă permite să evaluați vizual modificările făcute ca urmare a rezolvării conflictelor de îmbinare. Comanda obișnuită „git show” separă diferite soluții de conflict cu indentare, făcând modificările dificil de înțeles.

Prin utilizarea opțiunii «–remerge-diff», diferențele dintre soluționarea conflictelor nu sunt separate pentru fiecare ramură majoră, dar sunt afișate diferențele generale dintre un fișier care are conflicte de îmbinare și un fișier care are conflicte rezolvate.

O altă schimbare care iese în evidență este cea Flexibilitate îmbunătățită în personalizarea comportamentului de spălare a cache-urilor de disc prin apelul la funcția fsync(). Parametrul core.fsyncObjectFiles disponibil anterior a fost împărțit în două variabile de configurare core.fsync și core.fsyncMethod, oferind posibilitatea de a aplica fsync nu numai fișierelor obiect (.git/objects), ci și altor structuri git, cum ar fi referințe (.git /refs), reflog și fișiere pachet.

Prin variabila core.fsync, puteți specifica o listă de structuri Git interne, după operația de scriere, pentru care fsync va fi apelat suplimentar. Variabila core.fsyncMethod vă permite să selectați o metodă de golire a memoriei cache, de exemplu, puteți selecta fsync pentru a utiliza apelul de sistem cu același nume sau puteți specifica doar scriere pentru a utiliza writeback în așteptare (rescriere cache a paginii).

Pentru a proteja împotriva vulnerabilităților care manipulează înlocuirea directoarelor .git de către alți utilizatori pe partiții partajate, Verificarea proprietarului depozitului a fost consolidată. Orice comenzi git sunt acum permise să fie rulate numai în propriile directoare „.git”. Dacă directorul depozitului este deținut de un alt utilizator, o eroare va fi generată în mod implicit. Acest comportament poate fi dezactivat utilizând setarea directorului securizat.

De asemenea, se evidențiază faptul că a adăugat opțiunea „–batch-command” la comanda „git cat-file”, care are scopul de a genera conținutul original al obiectelor Git, completând comenzile „–batch” și „–batch-check” disponibil anterior cu posibilitatea de a selecta în mod adaptiv tipul de ieșire prin „conținut » pentru a afișa conținut sau «informații » pentru a afișa informații despre obiect. În plus, este acceptată o comandă „flush” pentru a goli buffer-ul de ieșire.

Pe de altă parte, se evidențiază faptul că a adăugat opțiunea „–oid-only” (“–object-only”) la comanda „git ls-tree”, care este concepută pentru a enumera conținutul unui arbore de obiecte care, prin analogie cu „–name -only”, afișează numai identificatori de obiect pentru a simplifica apelurile din scripturi. Opțiunea „–format” este, de asemenea, implementată, permițându-vă să definiți propriul format de ieșire combinând informații despre mod, tip, nume și dimensiune.

Dintre celelalte schimbări care se deosebesc de această nouă versiune:

  • În comanda „git bisect run” este implementată definiția de a nu seta semnul unui fișier executabil pentru script și de a genera erori cu codurile 126 sau 127 în acest caz (anterior, dacă scriptul nu putea fi executat, toate recenziile au fost marcate ca având probleme).
  • S-a adăugat opțiunea „–refetch” la comanda „git fetch” pentru a prelua toate obiectele fără a informa cealaltă parte a conținutului care este deja pe sistemul local. Acest comportament poate fi util pentru restabilirea stării după defecțiuni atunci când există incertitudine cu privire la integritatea datelor locale.
  • Comenzile git update-index, git checkout-index, git read-tree și git clean acceptă acum indexuri parțiale (index sparse) pentru a îmbunătăți performanța și a economisi spațiu în depozitele care efectuează operațiuni parțiale. (plată slabă).
  • S-a schimbat comportamentul comenzii „git clone –filter=… –recurse-submodules”, care acum duce la clonarea parțială a submodulelor (anterior, la rularea unor astfel de comenzi, filtrul era aplicat numai conținutului principal, iar submodulele erau clonate complet fără ia in calcul filtrul).
  • S-a adăugat suport pentru specificarea filtrelor pentru plasarea selectivă a conținutului în comanda git bundle, similar cu operațiunile de clonare parțială.
  • S-a adăugat opțiunea „–recurse-submodules” la comanda „git branch” pentru a parcurge submodulele în mod recursiv.
    Userdiff a propus un nou driver pentru limbajul Kotlin.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta despre această nouă versiune de Git 2.36 puteți consulta detaliile în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.