29
Controllo di versione Svn / Git alessandro cinelli (cirpo)

Controllo di versione, Git e Svn

Embed Size (px)

DESCRIPTION

Una panoramica e comparazione sulle funzionalita' di Git e Svn

Citation preview

Page 1: Controllo di versione, Git e Svn

Controllo di versioneSvn / Git

alessandro cinelli (cirpo)

Page 2: Controllo di versione, Git e Svn

Chi sono

• sviluppatore Php, Javascript e Java

• membro Lugbs, Grusp, symfony-it

• traduttore documentazione symfony, zend framework e ProGit

• sviluppatore progetto phpCollab

• single : )

Page 3: Controllo di versione, Git e Svn

disclaimer

Page 4: Controllo di versione, Git e Svn

Controllo di versione

• chi ha fatto cosa

• quando

• perche’

Page 5: Controllo di versione, Git e Svn

“old style”

• copia locale/ftp/cartella condivisa

• index.prova.html / index.bak / index.html09102010

“e’ l’ultima versione, gigi ha caricato le sue modifche lunedi?” “bho, controllo”

“hai caricato l’ultima versione?”

“con le ultime modifiche non funziona piu’ nulla!!!”

• “hai fatto le modifiche, dove sono?”

Page 6: Controllo di versione, Git e Svn
Page 7: Controllo di versione, Git e Svn

Terminologia

• repository

• trunk tags branches

• checkout

• working copy

• commit

• update

Page 8: Controllo di versione, Git e Svn

SVN

• no symlinks

• no rinomina dir o files

• supporto limitato unicode

• concetto limitato di branch

• no atomic commit

Problematiche CVS :

Page 9: Controllo di versione, Git e Svn

SVN

Page 10: Controllo di versione, Git e Svn

SVN

ESEMPI

Page 11: Controllo di versione, Git e Svn

GIT

cvs -> svn -> git ?

NO!!!

Page 12: Controllo di versione, Git e Svn

GIT (dvcs)

Page 13: Controllo di versione, Git e Svn

GIT

• velocità

• design semplice

• incentrato su uno sviluppo non lineare

• distribuito

• gestione di grandi progetti (es. kernel linux)

• integrita’

Page 14: Controllo di versione, Git e Svn

SVN / CVS

Page 15: Controllo di versione, Git e Svn

GIT

Page 16: Controllo di versione, Git e Svn

GIT

Page 17: Controllo di versione, Git e Svn

GIT

Page 18: Controllo di versione, Git e Svn

GIT

Page 19: Controllo di versione, Git e Svn

GIT

Page 20: Controllo di versione, Git e Svn

GIT

Page 21: Controllo di versione, Git e Svn

GIT

github

Page 22: Controllo di versione, Git e Svn

GIT

• clone

• branch

• merge

• push

• pull

Terminologia:

Page 23: Controllo di versione, Git e Svn

GIT

ESEMPI

Page 24: Controllo di versione, Git e Svn

GIT

• Backup / point of failure

• Velocità creazione branch

• Velocità merge

• Workflows vari

• Gestione progetti / contributi

• GitHub

Pros:

Page 25: Controllo di versione, Git e Svn

GIT

• Scarso supporto sistemi operativi non Unix

• Gui incomplete

• No checkout singole directory

• No merge automatico

• No externals

• Scarse prestazioni su protocollo Http

Cons:

Page 26: Controllo di versione, Git e Svn

GIT-SVN

Page 28: Controllo di versione, Git e Svn

domande ?