Git vs SVN

15,550 views

Published on

Présentation à la nAcademy (Octobre 2011) : GIT VS SVN par Florian Werich

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
15,550
On SlideShare
0
From Embeds
0
Number of Embeds
447
Actions
Shares
0
Downloads
168
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Git vs SVN

  1. 1. GIT vs SVN
  2. 2. Plan• But de la présentation• Genèse• Système centralisé VS distribué• Branching• Staging area et nouveaux Workflows• Les outils graphiques• Ressources
  3. 3. Pourquoi cette PrésentationGit fait de plus en plus parler de lui :• De nombreux projets sous Git o (Git, Linux Kernel, Perl, Eclipse, Gnome, KDE Qt, Ruby on Rails, Android, PostgreSQL Debian, X.org, Plone...)• le nombre total de commit pour la période de Janvier à Mai 2011 de Github est largement supérieur à ceux de Sourceforge, Google Code et Microsoft CodePlex.• Systeme de branching au coeur du fonctionnement de Git
  4. 4. Au début il y avait BitKeeper...Kernel.org versionné par BitKeeper mais sa licence dutilisation change.Besoin : VCS rapide, gérant de gros volumes de donnéesOutils de remplacement : Aucun
  5. 5. ...puis vint GitLinus Torvald crée son propre outil :• Outil écrit en 5 jours• Optimisé pour le noyau linux• exécution rapide des tâches (codé en C)• Zero perte dinformation ( DAG : directed Acyclic Graph ou graphe orienté acyclique)• Nombreuses fonctionnalités (détaillées plus loin)MAIS Git nest pas un VCS !
  6. 6. Difference Svn/Git
  7. 7. Différence Svn/GitSvn : Git:• checkout récupère la dernière • checkout récupère tout le repo révision • Pull/push online seulement• Checkout/commit/diff online • branching base de Git• branching non historisé • un seul .git par défaut• plusieurs .svn par sous • gestion de droits (base du répertoire fonctionnement de Github)• pas de gestion évoluée de • révision identifiée par droits hashcode des fichiers• révisions identifiées par • X workflows possibles incrément • historise : unversionné, new,• Workflow centralisé deleted, modifié,modifié "non• "Annulation" de commit ajouté" impossible• historise : unversionné, new, deleted, modifié
  8. 8. Utilisation de Git comme Svn
  9. 9. Utilisation de Git comme SvnGit ne revert pas. Tout est mémorisé, même les branchesmergées.Git aussi a des conflits...mais aucun basé sur le changementde nom dun fichier (ou sa suppression).On peut utiliser Git pour travailler sur Svn git svn clone http://svn.neuros.fr/...
  10. 10. Branching : La principale puissance de GitMultiples branches locales :création, fusion (merge) ousuppression en quelques secondes.On peut :• Créer une branche pour essayer une nouvelle idée, committer, revenir à lendroit où vous avez créé cette branche, appliquer un patch, retourner là où vous expérimentez et fusionnez le avec votre branche principale.• Créer une nouvelle branche pour toutes les fonctionnalités que vous développez, puis effacer chaque branche une fois que la fonctionnalité est incluse dans la branche principale.
  11. 11. Branching : La principale puissance de Git
  12. 12. Staging area
  13. 13. Exemples de Workflows
  14. 14. Exemples de Workflows
  15. 15. Outils graphiquesLes différents IDE possèdent leurs plugins Git : • Egit (Eclipse) • NBGit (NetBeans)Des utilitaires existent pour Git :• TortoiseGit• Git Tower (Mac)
  16. 16. Ressourceshttp://fr.whygitisbetterthanx.com (Plaidoyer Pro git)http://progit.org/book/ (livre en ligne)http://blog.loof.fr/2010/08/from-svn-to-git.htmlhttp://www.git-attitude.frhttp://gitfr.net/blog/ (@gitfr)Videos de présentation http://www.parleys.com/#st=5&id=2366 http://www.parleys.com/#st=5&id=2368

×