Nuova versione di Git 2.28, che consente di non utilizzare il nome "master" per i rami master

A disposizione rilascio di un sistema di controllo del codice sorgente distribuito Git 2.28.0. Git è uno dei sistemi di controllo delle versioni più popolari, affidabili e ad alte prestazioni, che fornisce strumenti di sviluppo flessibili e non lineari basati su branching e merging. Per garantire l’integrità della storia e la resistenza a modifiche retroattive, in ogni commit viene utilizzato l’hashing implicito di tutta la storia precedente; è inoltre possibile certificare i singoli tag e commit con firme digitali degli sviluppatori.

Rispetto alla versione precedente, la nuova versione comprende 317 modifiche, predisposte con la partecipazione di 58 sviluppatori, di cui 13 hanno preso parte allo sviluppo per la prima volta. Di base innovazioni:

  • Aggiunta l'impostazione init.defaultBranch, che consente di selezionare un nome arbitrario per il ramo principale, che verrà utilizzato per impostazione predefinita. Questa impostazione è stata aggiunta per progetti i cui sviluppatori sono perseguitati da ricordi di schiavitù e la parola "padrone" viene percepita come un suggerimento offensivo o evoca angoscia mentale e un senso di colpa irredenta. GitHub, GitLab и bitbucket ha deciso di utilizzare la parola “principale” invece della parola “master” per i rami principali. In Git, come prima, l'esecuzione del comando "git init" continua a creare il ramo "master" per impostazione predefinita, ma questo nome ora può essere modificato. Ad esempio, per cambiare il nome del ramo iniziale in "main" puoi utilizzare il comando:

    git config --global init.defaultBranch principale

  • Aggiunte ottimizzazioni delle prestazioni in base all'aspetto nel formato file commit-graph, utilizzato per ottimizzare l'accesso alle informazioni di commit, supporto Filtri Bloom, una struttura probabilistica che consente la falsa identificazione di un elemento mancante, ma esclude l'omissione di un elemento esistente. La struttura specificata consente di velocizzare notevolmente la ricerca nella cronologia delle modifiche quando si utilizzano i comandi “git log - " o "cazza di colpa".
  • Il comando “git status” fornisce informazioni sullo stato di avanzamento dell'operazione di clonazione parziale (sparse-checkout).
  • È stata proposta una nuova impostazione "diff.relative" per la famiglia di comandi "diff".
  • Durante il controllo tramite "git fsck" viene ora valutato l'ordinamento dell'albero degli oggetti e vengono identificati gli elementi non ordinati.
  • L'interfaccia per la modifica delle informazioni sensibili nell'output della traccia è stata semplificata.
  • Allo script di completamento dell'input è stato aggiunto il supporto per il completamento delle opzioni per il comando "git switch".
  • “git diff” ora supporta il passaggio di argomenti in diverse notazioni (“git diff A..BC”, “git diff A..BC…D”, ecc.).
  • Aggiunta la possibilità di specificare una mappatura di elementi personalizzata al comando "git fast-export --anonymize" per ottimizzare l'output e renderlo più debuggabile.
  • La "git gui" ti consente di aprire alberi di lavoro dalla finestra di dialogo iniziale.
  • Il protocollo “fetch/clone” implementa la capacità del server di informare il client della necessità di caricare file di pacchetto pre-preparati oltre ai dati dell'oggetto compresso trasmessi.
  • Sono proseguiti i lavori sulla transizione all'algoritmo di hashing SHA-256 anziché SHA-1.

Fonte: opennet.ru

Aggiungi un commento