GIT

alessandro cinelli (cirpo)
Chi sono
Chi sono


• sviluppatore Php, Javascript e Java
Chi sono


• sviluppatore Php, Javascript e Java
• membro PugRoma, Grusp, symfony-it, WebDeBs
Chi sono


• sviluppatore Php, Javascript e Java
• membro PugRoma, Grusp, symfony-it, WebDeBs
• traduttore documentazione symfony, zend
  framework e ProGit
disclaimer
GIT
   "I'm an egotistical
 bastard, and I name all
my projects after myself.
  First Linux, now git."
                  Linus Torvalds
GIT


cvs -> svn -> git ?
Perchè Git?
Perchè Git?


Lo sviluppo software non (quasi mai) lineare
GIT
GIT
GIT

• velocità
GIT

• velocità
• design semplice
GIT

• velocità
• design semplice
• incentrato su uno sviluppo non lineare
GIT

• velocità
• design semplice
• incentrato su uno sviluppo non lineare
• distribuito
GIT

• velocità
• design semplice
• incentrato su uno sviluppo non lineare
• distribuito
• gestione di grandi progetti (es. kernel linux)
GIT

• velocità
• design semplice
• incentrato su uno sviluppo non lineare
• distribuito
• gestione di grandi progetti (es. kernel linux)
• integrita’
SVN / CVS
GIT
GIT
GIT
GIT
GIT
GIT
GIT
Terminologia:
GIT
Terminologia:
  • clone
GIT
Terminologia:
  • clone
  • branch
GIT
Terminologia:
  • clone
  • branch
  • merge
GIT
Terminologia:
  • clone
  • branch
  • merge
  • push
GIT
Terminologia:
  • clone
  • branch
  • merge
  • push
  • pull
GIT


ESEMPI
GIT
Pros:
GIT
Pros:
• Backup / point of failure
GIT
Pros:
• Backup / point of failure
• Velocità creazione branch
GIT
Pros:
• Backup / point of failure
• Velocità creazione branch
• Velocità merge
GIT
Pros:
• Backup / point of failure
• Velocità creazione branch
• Velocità merge
• Workflows vari
GIT
Pros:
• Backup / point of failure
• Velocità creazione branch
• Velocità merge
• Workflows vari
• Gestione progetti / contributi
GIT
Pros:
• Backup / point of failure
• Velocità creazione branch
• Velocità merge
• Workflows vari
• Gestione progetti / contributi
• GitHub
GIT
Cons:
GIT
Cons:
•Scarso supporto sistemi operativi non Unix
GIT
Cons:
•Scarso supporto sistemi operativi non Unix
• Gui incomplete
GIT
Cons:
•Scarso supporto sistemi operativi non Unix
• Gui incomplete
• No checkout singole directory
GIT
Cons:
•Scarso supporto sistemi operativi non Unix
• Gui incomplete
• No checkout singole directory
• No externals ala svn
GIT
Cons:
•Scarso supporto sistemi operativi non Unix
• Gui incomplete
• No checkout singole directory
• No externals ala svn
• Scarse prestazioni su protocollo Http
GIT
github
GIT FLOW
GIT FLOW
GIT FLOW
GIT FLOW
GIT FLOW
GIT FLOW
links
•   http://git-scm.com/

•   http://progit.org/

•   https://github.com/nvie/gitflow

•   http://nvie.com/posts/a-successful-git-branching-model/

•   https://github.com/

•   http://code.google.com/p/support/wiki/DVCSAnalysis

•   http://www.youtube.com/watch?v=4XpnKHJAok8

•   http://versioncontrolblog.com/comparison/Bazaar/CVS/Git/Mercurial/
    Subversion/index.html

•   http://whygitisbetterthanx.com/
grazie a tutti :)

• alessandro.cinelli@gmail.com
• twitter.com/cirpo
• http://delicious.com/cirpo
• http://it.linkedin.com/in/cinellialessandro

Git e Git Flow