sys05 uso consapevole di git - beyond the basic
TRANSCRIPT
Template designed by
Uso consapevole di git – beyond the basic
Gian Maria [email protected]://www.codewrecks.com
Template designed by
Template designed by
brought to you by
Template designed by
Centralizzato (TFVC, SVN, ...) Git
Get Latest - Update Pull
Check-in Commit + push
Branch Branch
Server Origin (multipli)
Analogie sbagliate
Il modo peggiore di imparare git è usare analogie con un centralizzato
I paradigmi sono troppo differenti e questo processo «genera mostri»
Template designed by
La funzionalità base di memorizzazione di git è prendere un file, calcolarne il suo hash SHA1 (che diventerà il suo id), zipparlo e memorizzarlo in .git/objects
Un commit è costituito quindi da
• Un blob per ogni file presente nel commit
• Un blob di tipo tree che contiene la rappresentazione della struttura della cartella con la lista degli id dei blob dei file
• Un blob di tipo commit che contiene un link al tree, uno o piu link ai commit precedenti ed alcune informazioni
Comprendere le basi
Template designed by
Git è uno strumento per fare «snapshot» di cartelle
Ogni snapshot punta ad uno o piu snapshot precedenti, di cui costituisce un incremento
Questo insieme di snapshot costutuisce un grafo
Comprendere le basi
Template designed by
Uno snapshot è detto commit
Dato che ogni commit punta ai suoi ancestors per puntare i commit piu recenti di ogni ramo del grafo si usano le refs
Come è organizzato questo grafo
Demo