Idiota

Cos'è Git?

Cos'è Git?

Cos'è Git?

Oggi la maggior parte dei progetti di sviluppo software sono sforzi collaborativi. Questi progetti possono avere centinaia o migliaia di persone che ci lavorano. Quindi tenere traccia dei cambiamenti è una necessità per una collaborazione più fluida. Git è un sistema di controllo della versione distribuito open source che tiene traccia delle risorse software e aiuta a eseguire processi di sviluppo più efficienti.

Che cos'è un sistema di controllo della versione??

Quando gli sviluppatori lavorano 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. L'utilizzo di un sistema di controllo della versione presenta i seguenti vantaggi:

Git - Il controllo della versione distribuita

Inizialmente, la maggior parte dei sistemi di controllo delle versioni era centralizzata. Nel modello centralizzato, le informazioni sul controllo della versione come l'autore, la data, l'ora e le informazioni sulle modifiche verrebbero 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 è andato giù, l'intero sistema sarebbe fermo.

In un sistema di controllo della versione distribuito (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 configurarne uno).


Breve storia di Git

Git è iniziato con un po' di polemiche come 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 è interrotta quando è stato revocato lo stato di libero utilizzo. Così Linus Torvalds, il creatore di Linux, iniziò 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 di versione distribuito semplice e potente con i seguenti pro e contro:

Professionisti

Prestazione: La maggior parte dei team di sviluppo passa a Git per i vantaggi in termini di prestazioni. Commit, branching e merging sono più veloci in Git rispetto ai sistemi di controllo di 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 l'hashing crittograficamente sicuro SHA1. 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 introdurre di nascosto le modifiche al codice changes.

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

Contro

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

Nostalgia per il controllo della versione centralizzato: Le aziende a volte esitano a utilizzare 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 è diventato popolare grazie al valore che aggiunge a qualsiasi team di sviluppo. Anche se stai lavorando da solo su un progetto, avere una cronologia affidabile può farti risparmiare un sacco di tempo. Git è uno strumento gratuito e utile per qualsiasi progetto di sviluppo software.

Ulteriori studi:

Sito web Git
Nozioni di base su Git
GitHub - Sito di hosting Git
BitBucket - Sito di hosting Git

Riferimenti:

Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...