SlideShare une entreprise Scribd logo
1  sur  16
GIT vs SVN
Plan

•   But de la présentation
•   Genèse
•   Système centralisé VS distribué
•   Branching
•   Staging area et nouveaux Workflows
•   Les outils graphiques
•   Ressources
Pourquoi cette Présentation

Git 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
Au début il y avait BitKeeper...

Kernel.org versionné par BitKeeper
          mais sa licence d'utilisation change.


Besoin : VCS rapide, gérant de gros volumes de données

Outils de remplacement : Aucun
...puis vint Git

Linus 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 d'information ( DAG : directed Acyclic Graph ou
  graphe orienté acyclique)
• Nombreuses fonctionnalités (détaillées plus loin)


MAIS Git n'est pas un VCS !
Difference Svn/Git
Différence Svn/Git
Svn :                             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é
Utilisation de Git comme Svn
Utilisation de Git comme Svn




Git ne revert pas. Tout est mémorisé, même les branches
mergées.

Git aussi a des conflits...mais aucun basé sur le changement
de nom d'un fichier (ou sa suppression).

On peut utiliser Git pour travailler sur Svn
    git svn clone http://svn.neuros.fr/...
Branching : La principale puissance de Git

Multiples branches locales :création, fusion (merge) ou
suppression en quelques secondes.

On peut :

• Créer une branche pour essayer une nouvelle idée, committer,
  revenir à l'endroit 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.
Branching : La principale puissance de Git
Staging area
Exemples de Workflows
Exemples de Workflows
Outils graphiques


Les différents IDE possèdent leurs plugins Git :
 • Egit (Eclipse)
 • NBGit (NetBeans)


Des utilitaires existent pour Git :
• TortoiseGit
• Git Tower (Mac)
Ressources

http://fr.whygitisbetterthanx.com (Plaidoyer Pro git)

http://progit.org/book/ (livre en ligne)

http://blog.loof.fr/2010/08/from-svn-to-git.html

http://www.git-attitude.fr

http://gitfr.net/blog/ (@gitfr)

Videos de présentation
  http://www.parleys.com/#st=5&id=2366
  http://www.parleys.com/#st=5&id=2368

Contenu connexe

Tendances

Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewRueful Robin
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionAnwarul Islam
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 

Tendances (20)

Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Learning git
Learning gitLearning git
Learning git
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Les bases de git
Les bases de gitLes bases de git
Les bases de git
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
 
Github basics
Github basicsGithub basics
Github basics
 
Git basics
Git basicsGit basics
Git basics
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Git real slides
Git real slidesGit real slides
Git real slides
 
GitLab.pptx
GitLab.pptxGitLab.pptx
GitLab.pptx
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Github
GithubGithub
Github
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 

En vedette

En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?Guillaume Collic
 
Svn vs mercurial vs github
Svn  vs  mercurial vs  githubSvn  vs  mercurial vs  github
Svn vs mercurial vs githubVinoth Kannan
 
Git Flow: un processus de développement Agile
Git Flow: un processus de développement AgileGit Flow: un processus de développement Agile
Git Flow: un processus de développement AgileXavier Hausherr
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséECAM Brussels Engineering School
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to gitJoel Krebs
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Ippon
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 
From svn to git
From svn to gitFrom svn to git
From svn to gitNehal Shah
 

En vedette (20)

En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?
 
SVN 2 Git
SVN 2 GitSVN 2 Git
SVN 2 Git
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
 
Svn vs mercurial vs github
Svn  vs  mercurial vs  githubSvn  vs  mercurial vs  github
Svn vs mercurial vs github
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
Git Flow: un processus de développement Agile
Git Flow: un processus de développement AgileGit Flow: un processus de développement Agile
Git Flow: un processus de développement Agile
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
From SVN to Git
From SVN to GitFrom SVN to Git
From SVN to Git
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Tutoriel GIT
Tutoriel GITTutoriel GIT
Tutoriel GIT
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Tutorial Git
Tutorial GitTutorial Git
Tutorial Git
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to git
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 
From svn to git
From svn to gitFrom svn to git
From svn to git
 

Similaire à Git vs SVN

Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitIppon
 
Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdfbadrfathallah2
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...akramalidrissi1
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsFactoVia
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsAZUG FR
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITArtusamak
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaCédric Leblond
 
Git et les systèmes de gestion de versions
Git et les systèmes de gestion de versionsGit et les systèmes de gestion de versions
Git et les systèmes de gestion de versionsAlice Loeser
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienneSylvain Witmeyer
 
Elasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésElasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésMathieu Elie
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfmouad55
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
Eclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGitEclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGitpcdavid_
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHubThibault Vlacich
 
REX - Passage de CVS à Git
REX - Passage de CVS à GitREX - Passage de CVS à Git
REX - Passage de CVS à GitPierre Templier
 

Similaire à Git vs SVN (20)

Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur Git
 
Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdf
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GIT
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds Java
 
3_SCM_Git.pdf
3_SCM_Git.pdf3_SCM_Git.pdf
3_SCM_Git.pdf
 
Git et les systèmes de gestion de versions
Git et les systèmes de gestion de versionsGit et les systèmes de gestion de versions
Git et les systèmes de gestion de versions
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienne
 
Elasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésElasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautés
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdf
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Get startedwithgit2
Get startedwithgit2Get startedwithgit2
Get startedwithgit2
 
Universitélang scala tools
Universitélang scala toolsUniversitélang scala tools
Universitélang scala tools
 
Eclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGitEclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGit
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
REX - Passage de CVS à Git
REX - Passage de CVS à GitREX - Passage de CVS à Git
REX - Passage de CVS à Git
 

Plus de neuros

Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)neuros
 
Le service workers
Le service workersLe service workers
Le service workersneuros
 
Proteger votre vie privee sur internet
Proteger votre vie privee sur internetProteger votre vie privee sur internet
Proteger votre vie privee sur internetneuros
 
Le pouvoir d'être Visible ou Invisible sur Internet
Le pouvoir d'être Visible ou Invisible  sur InternetLe pouvoir d'être Visible ou Invisible  sur Internet
Le pouvoir d'être Visible ou Invisible sur Internetneuros
 
Vos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertesVos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertesneuros
 
Livre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursLivre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursneuros
 
Http2 les impacts dans le web
Http2 les impacts dans le webHttp2 les impacts dans le web
Http2 les impacts dans le webneuros
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7neuros
 
RGAA 3 dans un Web Accessible
RGAA 3 dans un Web AccessibleRGAA 3 dans un Web Accessible
RGAA 3 dans un Web Accessibleneuros
 
Les effets de la loi Hamon
Les effets de la loi HamonLes effets de la loi Hamon
Les effets de la loi Hamonneuros
 
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et phpneuros
 
Les protocoles temps réels
Les protocoles temps réelsLes protocoles temps réels
Les protocoles temps réelsneuros
 
Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)neuros
 
Améliorer les performances SQL
Améliorer les performances SQLAméliorer les performances SQL
Améliorer les performances SQLneuros
 
Newschool partie1 methode HTML5
Newschool partie1 methode HTML5Newschool partie1 methode HTML5
Newschool partie1 methode HTML5neuros
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continuneuros
 
Effectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupalEffectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupalneuros
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informationsneuros
 
La maitrise des contenus hors internet
La maitrise des contenus hors internetLa maitrise des contenus hors internet
La maitrise des contenus hors internetneuros
 
La mémoire et PHP
La mémoire et PHPLa mémoire et PHP
La mémoire et PHPneuros
 

Plus de neuros (20)

Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)
 
Le service workers
Le service workersLe service workers
Le service workers
 
Proteger votre vie privee sur internet
Proteger votre vie privee sur internetProteger votre vie privee sur internet
Proteger votre vie privee sur internet
 
Le pouvoir d'être Visible ou Invisible sur Internet
Le pouvoir d'être Visible ou Invisible  sur InternetLe pouvoir d'être Visible ou Invisible  sur Internet
Le pouvoir d'être Visible ou Invisible sur Internet
 
Vos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertesVos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertes
 
Livre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursLivre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeurs
 
Http2 les impacts dans le web
Http2 les impacts dans le webHttp2 les impacts dans le web
Http2 les impacts dans le web
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7
 
RGAA 3 dans un Web Accessible
RGAA 3 dans un Web AccessibleRGAA 3 dans un Web Accessible
RGAA 3 dans un Web Accessible
 
Les effets de la loi Hamon
Les effets de la loi HamonLes effets de la loi Hamon
Les effets de la loi Hamon
 
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et php
 
Les protocoles temps réels
Les protocoles temps réelsLes protocoles temps réels
Les protocoles temps réels
 
Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)
 
Améliorer les performances SQL
Améliorer les performances SQLAméliorer les performances SQL
Améliorer les performances SQL
 
Newschool partie1 methode HTML5
Newschool partie1 methode HTML5Newschool partie1 methode HTML5
Newschool partie1 methode HTML5
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
 
Effectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupalEffectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupal
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informations
 
La maitrise des contenus hors internet
La maitrise des contenus hors internetLa maitrise des contenus hors internet
La maitrise des contenus hors internet
 
La mémoire et PHP
La mémoire et PHPLa mémoire et PHP
La mémoire et PHP
 

Git vs SVN

  • 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. Pourquoi cette Présentation Git 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. Au début il y avait BitKeeper... Kernel.org versionné par BitKeeper mais sa licence d'utilisation change. Besoin : VCS rapide, gérant de gros volumes de données Outils de remplacement : Aucun
  • 5. ...puis vint Git Linus 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 d'information ( DAG : directed Acyclic Graph ou graphe orienté acyclique) • Nombreuses fonctionnalités (détaillées plus loin) MAIS Git n'est pas un VCS !
  • 7. Différence Svn/Git Svn : 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. Utilisation de Git comme Svn
  • 9. Utilisation de Git comme Svn Git ne revert pas. Tout est mémorisé, même les branches mergées. Git aussi a des conflits...mais aucun basé sur le changement de nom d'un fichier (ou sa suppression). On peut utiliser Git pour travailler sur Svn git svn clone http://svn.neuros.fr/...
  • 10. Branching : La principale puissance de Git Multiples branches locales :création, fusion (merge) ou suppression en quelques secondes. On peut : • Créer une branche pour essayer une nouvelle idée, committer, revenir à l'endroit 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. Branching : La principale puissance de Git
  • 15. Outils graphiques Les différents IDE possèdent leurs plugins Git : • Egit (Eclipse) • NBGit (NetBeans) Des utilitaires existent pour Git : • TortoiseGit • Git Tower (Mac)
  • 16. Ressources http://fr.whygitisbetterthanx.com (Plaidoyer Pro git) http://progit.org/book/ (livre en ligne) http://blog.loof.fr/2010/08/from-svn-to-git.html http://www.git-attitude.fr http://gitfr.net/blog/ (@gitfr) Videos de présentation http://www.parleys.com/#st=5&id=2366 http://www.parleys.com/#st=5&id=2368