La gestion de version avec                                                 Git                                          ([...
La petite histoire                               Les avantages                             Scénario dutilisationMakina Cor...
SubVersioN : CVS done right                  «There is no way to do CVS right. »                                          ...
La petite histoire                               Les avantages                             Scénario dutilisationMakina Cor...
La Petite Histoire2002 ●     Linus choisit BitKeeper pour le noyau Linux      ●          « Merge » facilité      ●        ...
La Petite Histoire2005 ●     5 Avril :      BitKeeper devient payant ●     6 Avril :      Linus annonce son prototype « Gi...
« Im an egotistical bastard, and I name all my         projects after myself. First Linux, now git. »                     ...
La petite histoire                               Les avantages                             Scénario dutilisationMakina Cor...
Les Avantages : 1 - décentralisé ●     Local                                                         Dev      ●          N...
Les Avantages : 2 – léger ●     Un clone parfait      ●          = complet ●     Rapide !      ●          Réseau seulement...
Les Avantages : 3 – branché           $ svn merge -r11:10 http://svn/svn/my_repos/test           $ svn: REPORT request fai...
Les Avantages : 3 – branché ●     Vue graphique ●     Locales et/ou distantes ●     Algorithmes de fusion (« merge ») ●   ...
Les Avantages : 3 – branché ●     Manipulation facilitée ●     Cest le core committer celui qui développe, qui gère les co...
La petite histoire                               Les avantages                             Scénario dutilisationMakina Cor...
Scénario dutilisation   ●     Initialisation  $ cd demo  $ git init .  Initialized empty Git repository                   ...
Scénario dutilisation ●   Ajout dun dépôt distant$ git remote add origin git://you@server/demo.git/  ●   Synchronisation :...
Scénario dutilisation ●     Travail en local                                                Désynchro ●   Collaboration   ...
Scénario dutilisation                         Départ ●   Nouvelle branche$ git branch refactor$ git checkout refactor........
Scénario dutilisation ●   Tagger une version$ git tag 1.0 ●   Se rendre à un commit antérieur$ git checkout 1.0$ git check...
Et maintenant ?     $ sudo aptitude install git ●     Dispo sur GNU/Linux, OS X, BSD, Solaris, AIX, BeOS... et Windows ●  ...
ReconVersion SubVersion                                                        Git trunk                                  ...
Nächste SlideShare
Wird geladen in …5
×

Petit Déjeuner Git chez Makina Corpus

1.700 Aufrufe

Veröffentlicht am

18 Octobre 2011

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.700
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
148
Aktionen
Geteilt
0
Downloads
13
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Petit Déjeuner Git chez Makina Corpus

  1. 1. La gestion de version avec Git ([ʒit] [git]) mathieu.leplatre@makina-corpus.comMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  2. 2. La petite histoire Les avantages Scénario dutilisationMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  3. 3. SubVersioN : CVS done right «There is no way to do CVS right. » - Linus TorvaldsMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  4. 4. La petite histoire Les avantages Scénario dutilisationMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  5. 5. La Petite Histoire2002 ● Linus choisit BitKeeper pour le noyau Linux ● « Merge » facilité ● Non-linéaire ● Décentralisé2005 ● 17000 fichiers, 6 millions de lignes ● 400 développeurs ● 3 patches/heure, 3200 lignes/jour ● Une version = 5000 patchsMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  6. 6. La Petite Histoire2005 ● 5 Avril : BitKeeper devient payant ● 6 Avril : Linus annonce son prototype « Git » ● 7 Avril : Une instance est hébergée chez lui ● 18 Avril : Merge multiple de branches ● 16 Juin : Sortie du noyau 2.6.12 géré sur Git2011 ● Septembre : 1 million dutilisateurs sur GitHubMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  7. 7. « Im an egotistical bastard, and I name all my projects after myself. First Linux, now git. » - Linus TorvaldsMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  8. 8. La petite histoire Les avantages Scénario dutilisationMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  9. 9. Les Avantages : 1 - décentralisé ● Local Dev ● Nimporte où ! ● Mode déconnecté Public ● Serveur facultatif ● Distant ● Branche par branche ● Publication @server ● Déploiement /home ● ex : heroku.com SVNMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  10. 10. Les Avantages : 2 – léger ● Un clone parfait ● = complet ● Rapide ! ● Réseau seulement pour synchroniser ● Ultra-performant ! ● Ne stocke que les « diff »  ● Ex : Mozilla 12Go → 420Mo ● Branches et Tags ● = fichiers métadonnées ● Transport : SSH, FTP, HTTP, WebDAV, Email...Makina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  11. 11. Les Avantages : 3 – branché $ svn merge -r11:10 http://svn/svn/my_repos/test $ svn: REPORT request failed on /svn/my_repos/!svn/bc/11/test $ svn: MERGE request failed on /svn/repository/trunk $ svn: MERGE of /svn/repository/trunk: 200 OK (http://svn.myserver.com)Makina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  12. 12. Les Avantages : 3 – branché ● Vue graphique ● Locales et/ou distantes ● Algorithmes de fusion (« merge ») ● Déplacement (« rebase ») ● Avec suivi (« track »)Makina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  13. 13. Les Avantages : 3 – branché ● Manipulation facilitée ● Cest le core committer celui qui développe, qui gère les conflits ! ● « pull request » ● Nouveaux paradigmes (« Git Flow ») ● 1 version = 1 branche ● 1 feature = 1 branche ● Brouillon ? → branche ! ● Temporaire ? → branche ! ● Interrompu ? → branche !Makina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  14. 14. La petite histoire Les avantages Scénario dutilisationMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  15. 15. Scénario dutilisation ● Initialisation $ cd demo $ git init . Initialized empty Git repository gitg est ton ami ● Premières contributions dans master $ git add README $ git commit -m "Premier" (edition de README) $ git commit -a -m "Deuxième" Local!Makina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  16. 16. Scénario dutilisation ● Ajout dun dépôt distant$ git remote add origin git://you@server/demo.git/  ● Synchronisation : envoi$ git push origin master Local Distant ● Synchronisation : réception$ git pull origin master ● commit != pushMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  17. 17. Scénario dutilisation ● Travail en local Désynchro ● Collaboration Distant$ git fetch origin Local Commit ajouté ● Fusion !$ git merge origin/mastergit pull = Fetch+MergeMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  18. 18. Scénario dutilisation Départ ● Nouvelle branche$ git branch refactor$ git checkout refactor......$ git commit -m "Changement" ● Fusionner avec master$ git merge master ou ● Repositionner refactor$ git rebase masterMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  19. 19. Scénario dutilisation ● Tagger une version$ git tag 1.0 ● Se rendre à un commit antérieur$ git checkout 1.0$ git checkout 0ec2ab ● Annuler les derniers commits$ git reset HEAD~1Makina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  20. 20. Et maintenant ? $ sudo aptitude install git ● Dispo sur GNU/Linux, OS X, BSD, Solaris, AIX, BeOS... et Windows ● Eclipse Indigo 3.7 : Egit ● TurtoiseGit ● git-svn : mirroir Git dun dépôt Subversion ● git mergetool : Utilise meld par ex. pour résoudre les conflits ● Server Git  = Server SSH + git init --bare /path/repo ● http://github.com ● http://gitorious.orgMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.
  21. 21. ReconVersion SubVersion Git trunk master svn checkout git clone (+git checkout) svn commit git commit -a + git push svn update git pull svn add git add svn merge -r 20:HEAD git merge branch http://example.com/svn/branches/branch svn copy http://example.com/svn/trunk git tag name http://example.com/svn/tags/name svn copy http://example.com/svn/trunk git branch branch http://example.com/svn/branches/branch git checkout branch svn switch http://example.com/svn/branches/branchMakina Corpus – Présentation de Git – Toulouse, 18 Octobre 2011.

×