lansarea unui sistem distribuit de control al sursei . Git este unul dintre cele mai populare, fiabile și de înaltă performanță sisteme de control al versiunilor, oferind instrumente flexibile de dezvoltare neliniară bazate pe ramificare și îmbinare. Pentru a asigura integritatea istoriei și rezistența la modificări retroactive, în fiecare commit este utilizat hashing implicit al întregului istoric anterior; de asemenea, este posibilă certificarea etichetelor individuale și commit-urilor cu semnăturile digitale ale dezvoltatorilor.
În comparație cu versiunea anterioară, noua versiune a inclus 537 de modificări, pregătite cu participarea a 71 de dezvoltatori, dintre care 19 au participat pentru prima dată la dezvoltare. De bază :
- Activarea implicită implementată în versiunea anterioară a fost anulată Protocolul de comunicare Git, care este utilizat atunci când un client se conectează de la distanță la un server Git. Protocolul se consideră că nu este încă gata de utilizare în mod implicit, din cauza identificării problemelor alunecoase care necesită o analiză separată.
- S-a adăugat un set de opțiuni pentru configurarea unei conexiuni SSL la accesarea printr-un proxy.
- Informațiile afișate la utilizarea filtrelor de transformare „curat” și „pătă” au fost extinse. De exemplu, obiectul este acum afișat , în care apare blob-ul de convertit.
- Pentru a evita confuzia, comanda „git describe” acum folosește întotdeauna modul de ieșire extins („--long”) dacă este identificată o etichetă înlocuită asociată cu un commit (anterior, o etichetă semnată sau adnotată care descrie un commit a fost scoasă chiar dacă a fost redenumit sau mutat în ierarhie „refs/tags/”, iar comanda „git show tag^0” nu a funcționat conform așteptărilor - „refs/tags/tag” nu a fost găsit sau chiar a fost returnată o altă etichetă).
- Când executați „git pull”, acum este emis un avertisment, cu excepția cazului în care variabila de configurare pull.rebase este setată în mod explicit și opțiunile „--[no-]rebase” sau „--ff-only” nu sunt utilizate. Pentru a suprima avertismentul pentru cei care nu intenționează să efectueze o operație de rebazare, variabila poate fi setată la fals.
- Opțiunile „git pull” comune pentru „git fetch” au fost revizuite. Opțiunile similare nemenționate anterior sunt documentate și opțiunile lipsă sunt transmise la git fetch.
- S-a adăugat opțiunea „--no-gpg-sign” la comanda „git rebase” pentru a înlocui setarea „commit.gpgSign”.
- S-a adăugat capacitatea „git format-patch” pentru a afișa anteturile „From:” și „Subject:” neschimbate, fără a converti caractere non-ASCII.
- Opțiunea „-show-pulls” a fost adăugată la „git log”, permițându-vă să vizualizați nu numai commit-urile în care au fost făcute modificări, ci și commit-ul pentru fuzionarea acestor modificări dintr-o ramură separată.
- Gestionarea interactivă unificată a intrărilor în toate componentele și a adăugat un apel la fflush() după afișarea promptului de intrare, dar înainte de operația de citire.
- „git rebase” vă permite să aplicați din nou toate commit-urile locale fără a efectua mai întâi o operațiune de „checkout”, chiar dacă unele dintre ele au fost anterior upstreamed.
- S-a schimbat variabila de configurare „pack.useSparse” la „true” pentru a activa optimizările prezentate anterior ca experimentale în mod implicit.
- S-a adăugat opțiunea „--autostash” la „git merge”.
- Interfață îmbunătățită „sparse-checkout”.
- Au fost adăugate câteva acțiuni noi la „git update-ref --stdin”,
permițând controlul direct al tranzacțiilor de actualizare a legăturilor, de exemplu, pentru a implementa actualizări de legături atomice în două etape în mai multe depozite. - S-au adăugat șabloane userdiff pentru documentele Markdown.
- S-a eliminat restricția de a exclude toate căile din șabloanele de checkout rare care au ca rezultat un arbore de lucru gol.
- Operația „git restore --staged --worktree” este acum implicită să folosească conținutul din ramura „HEAD” în loc să arunce o eroare.
- Lucrările au continuat la tranziția la algoritmul de hashing SHA-2 în loc de SHA-1.
- Codul pentru interacțiunea cu GnuPG a fost reelaborat.
Sursa: opennet.ru
