Introduzione
Git è un sistema per il controllo di versione, cioè permette di tenere traccia delle modifiche che vengono fatte su un file o su un gruppo di files. Questo permette a diverse persone di lavorare ciascuna su una propria versione del progetto e successivamente unire le diverse versioni in una sola.
Solitamente quando più persone lavorano su un progetto, tutti partono da una versione comune (repository remoto), ne clonano una copia (branch) in locale, fanno le loro modifiche (commit), con la possibilità in ogni momento di vedere le modifiche fatte dagli altri, infine uniscono le loro versioni insieme (merge) per creare il progetto finale.
Git funziona facendo uno snapshot del progetto ad ogni commit, se tra l'ultimo commit ed il penultimo alcuni files non sono cambiati, nell'ultimo commit verrà creato solo un riferimento al penultimo per quei files.
Terminologia
Repository
Clone
Branch
Commit
Merge
Push
Pull
Tag
Area di stage
Workspace
Checkout