Git 2.39 è già stato rilasciato e queste sono le sue novità

Idiota

Git è un software di controllo della versione progettato da Linus Torvalds pensando all'efficienza,

Dopo due mesi di sviluppo, Rilasciato il sistema di controllo del codice sorgente distribuito Git 2.39, versione in cui rispetto alla versione precedente, 483 modifiche sono state accettate nella nuova versione, preparato con la partecipazione di 86 sviluppatori, di cui 31 hanno partecipato allo sviluppo per la prima volta.

Per chi non ha familiarità con Git, dovresti sapere che questo è uno dei sistemi di controllo della versione più popolari, software affidabile e ad alte prestazioni che fornisce strumenti di sviluppo non lineari flessibili basati su fork e fusioni di fork.

Per garantire l'integrità della cronologia e la resistenza alle modifiche retrodatate, in ogni commit viene utilizzato l'hashing implicito di tutta la cronologia precedente, è inoltre possibile verificare le firme digitali degli sviluppatori di singoli tag e commit.

Punti salienti di Git 2.39

In questa nuova versione che viene presentata, possiamo trovare cosae aggiunta l'opzione “–group”. comandare «brevelog git", Che è progettato per visualizzare riepiloghi con statistiche storiche delle modifiche, per raggruppare arbitrariamente i commit per campi senza essere limitati all'autore o all'autore.

Un'altra novità che spicca nella nuova versione sono i capacità estese del meccanismo dei cruft pack per impacchettare oggetti non raggiungibili che non sono referenziati nel repository (non referenziati da rami o tag).

Il Garbage Collector rimuove gli oggetti irraggiungibili, ma rimangono nel repository per un certo periodo di tempo prima di essere rimossi per evitare race condition. Il meccanismo di «pacchi cruft» consente di memorizzare tutti gli oggetti irraggiungibili in un file di pacchetto e riflettere i dati nel tempo modifica di ciascun oggetto in una tabella separata memorizzata in un file separato con estensione ".mvolte» per loro farlo non si sovrappone al tempo totale di modifica.

La quantità di tempo che gli oggetti irraggiungibili rimangano nel repository prima che vengano rimossi davvero è determinato dall'opzione “–prune= ». Detto questo, mentre il ritardo prima della rimozione è un modo ragionevolmente efficiente e pratico per evitare il danneggiamento del repository a causa di una race condition, non è affidabile al 100%.

Per facilitare il ripristino da un repository danneggiato, la nuova versione offre la possibilità di salvare gli oggetti mancanti aggiungendo il "--expire-to»Al« comandogit reimballare", che consente di specificare un file per creare una copia esterna di tutti gli oggetti eliminati. Ad esempio, per salvare oggetti irraggiungibili nel file backup.git che non sono stati modificati negli ultimi 5 minuti.

Oltre a questo, possiamo anche trovare in Git 2.39 is the aumentata (fino al 70%) la velocità dell'operazione “git grep –cached”. durante la ricerca in aree che utilizzano la clonazione parziale (check-out sparso) e per il quale esistono indici parziali (indice sparso). In precedenza, quando si specificava l'opzione "–Cache“, è stato cercato prima l'indice regolare e poi i parziali, il che ha causato notevoli ritardi durante la ricerca in repository di grandi dimensioni.

La esecuzione più rapida sul server per verificare la connettività di nuovi oggetti prima che vengano inseriti nel repository quando si esegue l'operazione "git push". A causa della transizione da tenere in considerazione quando si controllano solo i collegamenti dichiarati, in un repository di test con 7 milioni di collegamenti, di cui solo il 3% è coperto dall'operazione push, le ottimizzazioni hanno permesso di ridurre il tempo di verifica di 4,5 volte.

Per proteggere da possibili traboccamenti di numeri interi nel codice, il comando "git apply" limita la dimensione massima delle patch che può essere elaborato. Se la dimensione della patch supera 1 GB, verrà visualizzato un errore. Inoltre, per proteggersi da potenziali vulnerabilità, sono state apportate modifiche per ripulire le informazioni non necessarie dalle intestazioni impostate quando si utilizza il modulo h2h3 con l'opzione GIT_TRACE_CURL=1 o GIT_CURL_VERBOSE=1 insieme a HTTP/2.

Tra le altre modifiche che si distinguono:

  • Quando si esegue un'operazione di controllo su un ramo che è un collegamento simbolico a un altro ramo, il comando "gitsymbolic-ref HEAD» ora stampa il nome del ramo di destinazione invece del nome del collegamento simbolico.
  • Aggiunto il supporto per l'argomento @{-1} all'opzione "--edit-descrizione"("ramo git --edit-description @{-1}") per modificare la descrizione di un ramo precedente.
  • Aggiunto il comando "git merge-tree --stdin» che consente di passare un elenco di opzioni tramite input standard.
  • L'output del registro breve può essere aggiunto utilizzando identificatori di formato e "-gruppo» semplifica enormemente la reportistica complessa ed elimina ulteriori comandi di classificazione.
  • Sui file system di rete, il driver fsmonitor, che controlla le modifiche al file system, è disabilitato per impostazione predefinita.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.