Cosa è git?

Cosa è git?

Cosa è git?

Oggi la maggior parte dei progetti di sviluppo del software sono sforzi collaborativi. Questi progetti possono avere centinaia o migliaia di persone che ci lavorano. Quindi tenere traccia dei cambiamenti è una necessità per la collaborazione più fluida. Git è un sistema di controllo della versione distribuito open source che tiene traccia delle risorse del software e aiuta a 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 della versione ha i seguenti vantaggi:

  • Storia a lungo termine: I sistemi di controllo della versione mantengono la cronologia di chi, cosa e quando di eventuali modifiche al codice software. Questa cronologia è una risorsa preziosa per trovare qualsiasi errore nel software. Se ci sono problemi con il nuovo codice, puoi sempre tornare alle versioni precedenti.
  • Ramificazione e fusione: La maggior parte dei controlli della versione ha 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 rintracciare i bug e i problemi in modo facili e affidabile in un software. Diminuisce la confusione. Crea un ambiente di collaborazione efficace e trasparente.

GIT - Il controllo della versione distribuita

Inizialmente, la maggior parte dei sistemi di controllo delle versioni sono stati centralizzati. Nel modello centralizzato, le informazioni sul controllo della versione come la paternità, la data, l'ora e le informazioni di modifica sarebbero mantenute in un server o un database centralizzati. Il problema con questo modello era che i team di sviluppo sarebbero stati limitati dal potere o dal traffico del server centrale. Quando il server centrale è andato giù, l'intero sistema sarebbe stato in piedi.

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


Breve storia di git

Git ha iniziato un po 'di polemiche come un atto di vendetta. Nel 2002, Linux Community ha iniziato a utilizzare gratuitamente il sistema di controllo della versione distribuita proprietaria. Ma nel 2005, la relazione tra la comunità di Linux e Bitkeeper si è rotta quando è stato revocato lo stato di uso libero. Quindi Linus Torvalds, il Creatore di Linux, ha iniziato a sviluppare Git come prodotto open source. Quell'anno è stata rilasciata la prima versione di Git. Oggi Git è il sistema di controllo della versione più popolare.

Pro e contro di Git

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

Professionisti

Prestazione: La maggior parte dei team di sviluppo passano a Git per i vantaggi delle prestazioni. Impegnati, ramifica e fusione è più veloce in Git rispetto ai sistemi di controllo della versione 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 che ottenere il codice da un server centrale.

Sicurezza: L'integrità del codice è più facile da verificare su GIT. Utilizza lo sha1 hashing crittograficamente sicuro. Gli hash sono unici per ogni modifica. Se qualcuno cambia una modifica, gli hash non corrisponderanno. Questa proprietà di Git rende più difficile per chiunque di intrufolarsi nel codice cambia di nascosto.

Flessibilità: Git è stato progettato per adattarsi a qualsiasi flusso di lavoro. I sistemi di controllo della versione precedente sono più restrittivi. Ma Git dà alla tua squadra più margine di manovra. Puoi anche creare un flusso di lavoro centralizzato o integrare con altri sistemi di controllo della versione per far funzionare i sistemi legacy.

Contro

Più difficile da imparare: I concetti Git non sono sempre intuitivi. Altri sistemi di controllo della versione adottano un approccio basato sull'interfaccia più utente. La comunità Git tende a preferire la linea di comando. Quindi è più impegnativo per gli utenti non tecnici imparare.

Nostalgia per il controllo della versione centralizzata: A volte le aziende sono titubanti nell'uso di GIT perché non esiste un controllo centralizzato. Ma se hai bisogno di un repository centralizzato, puoi sempre progettare un flusso di lavoro per implementarlo.


Conclusione

Git è aumentato in popolarità a causa del valore che aggiunge a qualsiasi team di sviluppo. Anche se stai lavorando 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.

Ulteriori studi:

Sito Web Git
Nozioni di base Git
GitHub - sito di hosting Git
Bitbucket - sito di hosting Git

Riferimenti:

  • https: // www.Atlassian.com/git/tutorials/what-is-wirson-control
  • https: // www.Atlassian.com/git/tutorials/what-is-git
  • https: // git-scm.com/book/en/v2/get-started-a-short-history of-git
  • https: // git-scm.com/book/en/v2/based-git-basics
  • https: // github.com/