Cos'è Git? | Linuxiano.it
Privacy Policy

Cos’è Git?

Cos’è git-scm?

Oggi la maggior parte dei progetti di sviluppo software sono sforzi collaborativi di centinaia migliaia di persone. Quindi tenere traccia dei cambiamenti è una necessità per una collaborazione più fluida. Git-scm è un sistema di controllo delle versioni che tiene traccia delle risorse software e consente di eseguire processi di sviluppo più efficienti.

Cos’è un sistema di controllo della versione?

Quando gli sviluppatori stanno lavorando su un software, devono tenere traccia delle loro modifiche. Un sistema di controllo della versione (VCS) ricorda le versioni del software mentre si muove attraverso le varie fasi di sviluppo. Lavorare con un sistema di controllo versione ha i seguenti vantaggi:

  • Cronologia a lungo termine: i sistemi di controllo mantengono la cronologia di chi, cosa e quando di eventuali modifiche al codice software, una risorsa preziosa per trovare qualsiasi difetto. Se ci sono problemi con il nuovo codice, puoi sempre tornare alle versioni precedenti.
  • Branching e fusione: la maggior parte dei controlli di versione ha la funzionalità di ramificazione e fusione. Quindi i team di sviluppo possono dividere il lavoro in più flussi e lavorare contemporaneamente su vari aspetti del progetto.
  • Tracciabilità: il controllo della versione offre agli sviluppatori un modo per tracciare facilmente e in modo affidabile bug e problemi in un software. Riduce la confusione, e Crea un ambiente di collaborazione efficace e trasparente.

Git – Il controllo della versione distribuita

Inizialmente, la maggior parte dei sistemi di controllo delle versioni erano centralizzati, con informazioni di controllo della versione come informazioni sull’ autore, data, ora e modifiche, sarebbero mantenute in un server o database centralizzato. Il problema con questo modello era che i team di sviluppo sarebbero stati limitati dalla potenza o dal traffico del server centrale. Quando il server centrale cadde, l’intero sistema si fermò.

In un sistema di controllo della versione distribuito (DVCS), le informazioni sulla versione vengono mantenute con ogni copia del codice. Permette la condivisione peer-to-peer. Non è necessario un repository centralizzato (anche se è possibile impostarne uno).

Breve storia di Git

Git è iniziato con un po ‘di polemiche come un atto di vendetta. Nel 2002, la comunità Linux ha iniziato a utilizzare gratuitamente il sistema di controllo della versione distribuito proprietario BitKeeper. Ma nel 2005, la relazione tra la comunità Linux e BitKeeper si ruppe quando fu revocato lo stato di libero utilizzo. Così Linus Torvalds, il creatore di Linux, ha iniziato a sviluppare Git come prodotto open source. Quell’anno, fu rilasciata la prima versione di Git. Oggi Git è il sistema di controllo delle versioni più popolare.

Pro e contro di Git

Git è un sistema di controllo delle versioni distribuito semplice e potente con i seguenti pro e contro:

  • Prestazioni: la maggior parte dei team di sviluppo passa a Git per i vantaggi prestazionali. Commits, branching e merging sono più veloci in Git rispetto ai sistemi di controllo delle versioni centralizzati come CVS, SVN o Perforce. Inoltre, la natura distribuita del software rende più facile per gli sviluppatori condividere il lavoro peer-to-peer. Questo processo è più veloce di ottenere il codice da un server centrale.
  • Sicurezza: l’integrità del codice è più semplice da verificare su Git. Usa hashing crittograficamente sicuro SHA1. Gli hash sono unici per ogni modifica. Se qualcuno fa una modifica, gli hash non corrispondono. Questa proprietà di Git rende più difficile per chiunque intrufolarsi furtivamente nei cambiamenti del codice.
  • Flessibilità: Git è stato progettato per adattarsi a qualsiasi flusso di lavoro. I sistemi di controllo delle versioni precedenti sono più restrittivi. Ma Git offre alla tua squadra più margine di manovra. È anche possibile creare un flusso di lavoro centralizzato o integrarlo con altri sistemi di controllo delle versioni per far funzionare i sistemi legacy.

Conclusione

Git è cresciuto in popolarità a causa del valore aggiunto a qualsiasi team di sviluppo. Anche se lavori da solo su un progetto, avere una storia affidabile può farti risparmiare molto tempo. Git è uno strumento gratuito e utile per qualsiasi progetto di sviluppo software.

Altre guide

https://www.atlassian.com/git/tutorials/what-is-version-control
https://www.atlassian.com/git/tutorials/what-is-git
https://git-scm.com/book/en/v2/Getting-Started-A-Short-History-of-Git
https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
https://github.com/