SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
DÉVELOPPEZ AUTREMENT
RETOUR
D'EXPÉRIENCE
“pourquoi je me suis intéressé à GIT”
LE CONTEXTE
2008, chez un éditeur de soft au luxembourg
Le produit est sous Subversion
Différentes versions parralèlles à maintenir (3.9, 4.0,
etc.)
Des versions customs pour certains clients
Application découpée en modules
Equipes de développement dans différents sites (LU,
FR, ZA, SP)
Besoin de développer off-line (dans l'avion, chez un
client, etc. )
LE CHOIX DE GIT
Distribué
Workflow adaptable
Intégrations avec nos outils (forge, PIC, etc.)
MISE EN PLACE
Workflow basé sur des topic-branches:
un ticket = une branche
Les versions de maintenance sur des branches à long
terme
Roles d'intégrateurs
CONTSTAT
Premières semaines difficles (notamment les merges)
pour les non-teckos, mais réglé par une formation
interne d'une demi journée
Outils s'adapte aux processus en places (et non
l'inverse)
Productivité et qualité amélioré après quelques
semaines.
HISTORIQUE
“GIT (noun): a person who is deemed to be
despicable or contemptible”
2005
Linus Torvalds initie le projet pour le Kernel Linux car il a
besoin de changer de CVS (BitKeeper) rapidement.
Il décide d'arrêter Linux tant que ce n'est pas fait.
DESIGN
Distribué
Sûre (aucune perte de données)
Rapide
Et surtout :
prendre CVS comme exemple de ce qu'il ne faut pas faire
(ie. Subversion)
RÉALISATION
Démarré le 3 avril 2005
Annoncé le 6 avril 2005
1ère release du Kernel avec GIT, le 16 juin 2005
Le 26 juillet, le projet passe en maintenance et passe
dans les mains de Junio Hamano (toujours mainteneur).
CARACTÉRITIQUES
PRINCIPALES
“Au final c'est quoi GIT?”
DVCS
Complètement distribué
En ligne de commande
Il n'utilise pas de deltas mais des "packfiles", ce qui le
différencie des autres DCVS
Support de gros projets
Fait pour le merge et la gestion des branches
Orienté boite à outils
Bien intégré (par exemple, utilise des protocoles
existants)
DELTAS
PACKFILES
HISTORIQUE
FONCTIONNEMENT
“C'est compliqué?”
LES BASES
Toujours avoir à l'esprit que GIT est distribué
Une sheat cheet intérative
LES BRANCHES...
... LES BRANCHES
Types
Local
Remote
Local tracking Remote
Utilisation
Topic branches
Long term branches
Worflow based branches
Statégies de fusion
Merge
Rebase
Cherry pick
MERGE...
...MERGE
GIT FLAVOURS
“Killer features”
git stash: la cachette
git rebase: faire le ménage
git cherry-pick: la ceuillette aux commits
git submodules: travailler avec plusieurs dépôts
git commit --amend: corriger un commit
git bisect: l'arme ultime pour isoler le commit
fautif
WORKFLOWS
“Je fait ce qu'il me plait...”
SUBVERSION-STYLE WORKFLOW
Un dépots distant qui centralise les dépôts locaux.
Attention aux merges!
INTEGRATION MANAGER WORKFLOW
Une seule personne (l'intégration manager) fait les merges
et commit vers le blessed repository
DICTATOR AND LIEUTENANTS WORKFLOW
Modèle à la Linux Kernel.
Pour les gros projets
TOOLS
SCM: git-svn, git-cvs, subgit, etc.
GUI: TortoiseGit, gitg, giggle, SourceTree, etc.
Cloud/Web: Unfuddle, BitBucket, SourceForge, etc.
Admin: Gitorious, Gitblit, etc.
Entreprise: Github, Atlassion Stash, etc.
Kikkoolol: Gource
GITHUB
RÉFÉRENCES
WEB
git-scm.com
git.wiki.kernel.org
BOOK

Más contenido relacionado

La actualidad más candente

Git vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 
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 ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versiongoldoraf
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuDéveloppement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuAhmed Archive
 
Atelier Git + GitHub
Atelier Git + GitHubAtelier Git + GitHub
Atelier Git + GitHubspamaert
 
Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Gitmsadouni
 
Git : Deux écoles de pensées, merge vs rebase
Git : Deux écoles de pensées, merge vs rebaseGit : Deux écoles de pensées, merge vs rebase
Git : Deux écoles de pensées, merge vs rebasejcbaudier
 
Petit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina CorpusPetit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina Corpusleplatrem
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et GaudiEmmanuel Quentin
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?Membré Guillaume
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsWeb à Québec
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 

La actualidad más candente (20)

Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
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 ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
GitPourLaNulle
GitPourLaNulleGitPourLaNulle
GitPourLaNulle
 
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuDéveloppement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
 
Atelier Git + GitHub
Atelier Git + GitHubAtelier Git + GitHub
Atelier Git + GitHub
 
Git
GitGit
Git
 
Tutoriel GIT
Tutoriel GITTutoriel GIT
Tutoriel GIT
 
Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Git
 
Git : Deux écoles de pensées, merge vs rebase
Git : Deux écoles de pensées, merge vs rebaseGit : Deux écoles de pensées, merge vs rebase
Git : Deux écoles de pensées, merge vs rebase
 
Petit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina CorpusPetit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina Corpus
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Git flow in action
Git flow in actionGit flow in action
Git flow in action
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 

Destacado (20)

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
 
Encimera Siemens EH775FD27E
Encimera Siemens EH775FD27EEncimera Siemens EH775FD27E
Encimera Siemens EH775FD27E
 
Nevera Smeg FAB28RBV3
Nevera Smeg FAB28RBV3Nevera Smeg FAB28RBV3
Nevera Smeg FAB28RBV3
 
Nevera Smeg FAB32LBN1
Nevera Smeg FAB32LBN1Nevera Smeg FAB32LBN1
Nevera Smeg FAB32LBN1
 
Nevera Smeg FAB10HRR
Nevera Smeg FAB10HRRNevera Smeg FAB10HRR
Nevera Smeg FAB10HRR
 
Lavavajillas Smeg BLV2RO-2
Lavavajillas Smeg BLV2RO-2 Lavavajillas Smeg BLV2RO-2
Lavavajillas Smeg BLV2RO-2
 
Lavadora Smeg WHT710EES
Lavadora Smeg WHT710EESLavadora Smeg WHT710EES
Lavadora Smeg WHT710EES
 
Nevera Smeg FAB32RNEN1
Nevera Smeg FAB32RNEN1Nevera Smeg FAB32RNEN1
Nevera Smeg FAB32RNEN1
 
Cub cadet michelgagnon (2)
Cub cadet michelgagnon (2)Cub cadet michelgagnon (2)
Cub cadet michelgagnon (2)
 
Horno Electrolux EOC5751FOX
Horno Electrolux EOC5751FOXHorno Electrolux EOC5751FOX
Horno Electrolux EOC5751FOX
 
Tondeuses toro catherine tremblay
Tondeuses toro catherine tremblayTondeuses toro catherine tremblay
Tondeuses toro catherine tremblay
 
Secadora BOSCH WTB86209EE
Secadora BOSCH WTB86209EESecadora BOSCH WTB86209EE
Secadora BOSCH WTB86209EE
 
SECADORA BALAY 3SC871B
SECADORA BALAY 3SC871BSECADORA BALAY 3SC871B
SECADORA BALAY 3SC871B
 
Encimera Teka IRS 933 HS
Encimera Teka IRS 933 HSEncimera Teka IRS 933 HS
Encimera Teka IRS 933 HS
 
Nevera Smeg SBS63NED
Nevera Smeg SBS63NEDNevera Smeg SBS63NED
Nevera Smeg SBS63NED
 
Cocina Smeg CX91GVE
Cocina Smeg CX91GVECocina Smeg CX91GVE
Cocina Smeg CX91GVE
 
Encimera Siemens EH675FJ27E
Encimera Siemens EH675FJ27EEncimera Siemens EH675FJ27E
Encimera Siemens EH675FJ27E
 
Tuto DB Espace 19
Tuto DB Espace 19Tuto DB Espace 19
Tuto DB Espace 19
 
La creation
La creationLa creation
La creation
 
Jehovah nous-invitent-ec
Jehovah nous-invitent-ecJehovah nous-invitent-ec
Jehovah nous-invitent-ec
 

Similar a Git développez autrement

Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdfbadrfathallah2
 
Eclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGitEclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGitpcdavid_
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptxIdrissaDembl
 
Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Paris Salesforce Developer Group
 
Cours du soir_gwt
Cours du soir_gwtCours du soir_gwt
Cours du soir_gwtSaid Talibi
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfHamida Rebai Trabelsi
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Pierre Ternon
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven developmentSébastien Corbin
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.frliberation_dev
 
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
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfSami Asmar
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
 
Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Thierry Wasylczenko
 
1er atelier technique - IGO2 - 17 mai 2017
1er atelier technique - IGO2 - 17 mai 20171er atelier technique - IGO2 - 17 mai 2017
1er atelier technique - IGO2 - 17 mai 2017igouverte
 

Similar a Git développez autrement (20)

Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdf
 
Eclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGitEclipse DemoCamp 2011 @ Nantes: EGit
Eclipse DemoCamp 2011 @ Nantes: EGit
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptx
 
Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014
 
Cours du soir_gwt
Cours du soir_gwtCours du soir_gwt
Cours du soir_gwt
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven development
 
Git
GitGit
Git
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.fr
 
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...
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdf
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
 
Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9
 
1er atelier technique - IGO2 - 17 mai 2017
1er atelier technique - IGO2 - 17 mai 20171er atelier technique - IGO2 - 17 mai 2017
1er atelier technique - IGO2 - 17 mai 2017
 

Git développez autrement