Template designed by
Uso consapevole di git – beyond
the basic
Gian Maria Ricci
Alkampfer@Nablasoft.com
http://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

Sys05 uso consapevole di git - beyond the basic

  • 1.
    Template designed by Usoconsapevole di git – beyond the basic Gian Maria Ricci Alkampfer@Nablasoft.com http://www.codewrecks.com Template designed by
  • 2.
  • 3.
    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»
  • 4.
    Template designed by Lafunzionalità 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
  • 5.
    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
  • 6.
    Template designed by Unosnapshot è 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
  • 7.