7
Template designed by Uso consapevole di git – beyond the basic Gian Maria Ricci [email protected] http://www.codewrecks.com Template designed by

Sys05 uso consapevole di git - beyond the basic

Embed Size (px)

Citation preview

Page 1: Sys05   uso consapevole di git - beyond the basic

Template designed by

Uso consapevole di git – beyond the basic

Gian Maria [email protected]://www.codewrecks.com

Template designed by

Page 2: Sys05   uso consapevole di git - beyond the basic

Template designed by

brought to you by

Page 3: Sys05   uso consapevole di git - beyond the basic

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»

Page 4: Sys05   uso consapevole di git - beyond the basic

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

Page 5: Sys05   uso consapevole di git - beyond the basic

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

Page 6: Sys05   uso consapevole di git - beyond the basic

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

Page 7: Sys05   uso consapevole di git - beyond the basic

Demo