SlideShare una empresa de Scribd logo
1 de 13
Git et les systèmes de
    gestion de versions
          Pourquoi c'est bien
          Comment s'en servir


1                               Tälk #02 - alice@pulz.fr
De quoi s'agit-il ?

    • Maintenir l'ensemble des versions d'un ou plusieurs
    fichiers (exemple : l'historique Wikipedia)

    • Pouvoir rappeler une version antérieure à tout
    moment (révision)

    • Nécessité d'utiliser un logiciel
      • SVN
      • Mercurial
      • … ou Git
2                                             Tälk #02 - alice@pulz.fr
Intérêt

    • Pouvoir travailler en équipe facilement

    • Arrêter d'effacer les fichiers du collègue et perdre des
    données

    • Arrêter de se mélanger dans ses sauvegardes

    • Arrêter de faire des bêtises sur le FTP

    • Avoir une vision globale du projet
3                                               Tälk #02 - alice@pulz.fr
Git - Avantages
    • Travail hors ligne, la majorité des opérations est locale

    • Rapide

    • La quasi totalité des actions est réversible

    • Facilité dans la gestion des branches

    • Facile à utiliser




4                                                    Tälk #02 - alice@pulz.fr
Git - Les 3 états             (1/3)

    • Gestion des données en instantané (snapshot)
      • Instantané = état du répertoire à un instant t
      • Mini système de fichiers


    • 3 états de fichiers :
      • Validé : données stockées en bd locale
      • Modifié : fichier modifié, pas encore validé en base
      • Indexé : fichier marqué pour faire partie de la prochaine
        révision




5                                                        Tälk #02 - alice@pulz.fr
Git - Les 3 états               (2/3)



    • Répertoire git : ce qui est
      copié quand on clone un
      dépôt

    • Répertoire de travail :
      extraction unique d'une
      version du projet

    • Zone d'index : fichier qui
      stocke les infos concernant
      la prochaine révision




6                                           Tälk #02 - alice@pulz.fr
Git - Les 3 états           (3/3)




    • On modifie des fichiers dans son répertoire de travail

    • On indexe les fichiers modifiés
      • $ git add


    • On valide les modifications dans la base de données du
      répertoire git
      • $ git commit




7                                                  Tälk #02 - alice@pulz.fr
Démarrer un dépôt git existant

    • $ git clone git://github.com/schacon/grit.git
      • On récupère tout le repository en local
    • $ git add .
      • On indexe certains fichiers (ici, tous)
    • $ git commit -m ''mon message de commit''
      • On enregistre les changements sur le dépôt
    • $ git push origin master
      • On met à jour le dépôt distant, déploiement


    • Si quelqu'un a modifié le projet entre temps, on tire :
      • $ git pull

8                                                     Tälk #02 - alice@pulz.fr
Les branches          (1/2)




    • Branche : diverger de la ligne principale de
      développement

    • Pratique pour résoudre un bug, ou quand on a une super
      idée de nouveau module...

    • Git privilégie la création/fusion de branches comme
      méthode de travail



9                                                    Tälk #02 - alice@pulz.fr
Les branches              (2/2)


     • Créer une branche « correctif » :
       • $ git branch correctif
       • $ git checkout correctif
          • (ou $ git checkout -b correctif)


     • On a fini de travailler sur la branche
       • $ git checkout master
       • $ git merge correctif


     • On supprime la branche correctif
       • $ git branch -d correctif

10                                              Tälk #02 - alice@pulz.fr
Conflit

     • La fusion de branche n'a pas fonctionné
       automatiquement : conflit de fusion
       •   $ git status pour voir où se trouve le conflit
       •   On résout le conflit
       •   $ git add pour marquer le fichier comme résolu
       •   $ git status pour vérifier que tout va bien

     • On a tout cassé, besoin de revenir en urgence sur la
       branche principale
       • $ git stash retour à l'état d'origine



11                                                      Tälk #02 - alice@pulz.fr
Où héberger son dépôt ?

     • Github
       •   Gratuit pour l'open-source
       •   Joli
       •   Application pour Windows et Mac
       •   Grande communauté


     • Le NAS Pülz !
       • Git est installé
       • Et bientôt, Gitlab (interface graphique) !




12                                                    Tälk #02 - alice@pulz.fr
www.pulz.fr – Collectif effervescent de travailleurs indépendants




                         alice@pulz.fr

                        Source :
             http://git-scm.com/book/fr/



13                                                                 Tälk #02 - alice@pulz.fr

Más contenido relacionado

La actualidad más candente

Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git TutorialSage Sharp
 
Git Workflow With Gitflow
Git Workflow With GitflowGit Workflow With Gitflow
Git Workflow With GitflowJosh Dvir
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubJames Gray
 
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
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and githubAderemi Dadepo
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
Advanced Git Presentation By Swawibe
Advanced Git Presentation By SwawibeAdvanced Git Presentation By Swawibe
Advanced Git Presentation By SwawibeMd Swawibe Ul Alam
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 

La actualidad más candente (20)

Github
GithubGithub
Github
 
Git advanced
Git advancedGit advanced
Git advanced
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Learning git
Learning gitLearning git
Learning git
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git Workflow With Gitflow
Git Workflow With GitflowGit Workflow With Gitflow
Git Workflow With Gitflow
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
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é
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git basics
Git basicsGit basics
Git basics
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and github
 
Tutoriel GIT
Tutoriel GITTutoriel GIT
Tutoriel GIT
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
Advanced Git Presentation By Swawibe
Advanced Git Presentation By SwawibeAdvanced Git Presentation By Swawibe
Advanced Git Presentation By Swawibe
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 

Destacado

Getting Started on distributed version control with git
Getting Started on distributed version control with gitGetting Started on distributed version control with git
Getting Started on distributed version control with gitAnoop Thomas Mathew
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started PresentationNap Ramirez
 
Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Gitmsadouni
 
Migration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitMigration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitGeoffrey Bachelet
 
Git 101 Presentation
Git 101 PresentationGit 101 Presentation
Git 101 PresentationScott Chacon
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git RightSven Peters
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to gitJoel Krebs
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Ippon
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Ippon
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Ippon
 
Outils de gestions de versions
Outils de gestions de versionsOutils de gestions de versions
Outils de gestions de versionsAli Ben Messaoud
 
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
 
Subversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesSubversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesJérôme Vieilledent
 

Destacado (18)

Getting Started on distributed version control with git
Getting Started on distributed version control with gitGetting Started on distributed version control with git
Getting Started on distributed version control with git
 
Git Ready! Worflows
Git Ready! WorflowsGit Ready! Worflows
Git Ready! Worflows
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started Presentation
 
Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Git
 
Migration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitMigration d'une base de code subversion vers git
Migration d'une base de code subversion vers git
 
SVN 2 Git
SVN 2 GitSVN 2 Git
SVN 2 Git
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Git 101 Presentation
Git 101 PresentationGit 101 Presentation
Git 101 Presentation
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to git
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
Outils de gestions de versions
Outils de gestions de versionsOutils de gestions de versions
Outils de gestions de versions
 
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 ?
 
GitPourLaNulle
GitPourLaNulleGitPourLaNulle
GitPourLaNulle
 
Subversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiquesSubversion - Utilisation et bonnes pratiques
Subversion - Utilisation et bonnes pratiques
 

Similar a Git et les systèmes de gestion de versions

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 vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 
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
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
REX - Passage de CVS à Git
REX - Passage de CVS à GitREX - Passage de CVS à Git
REX - Passage de CVS à GitPierre Templier
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfmouad55
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueRossi Oddet
 
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
 
Pourquoi versionner ses githooks.pdf
Pourquoi versionner ses githooks.pdfPourquoi versionner ses githooks.pdf
Pourquoi versionner ses githooks.pdfChris Saez
 
Elasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésElasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésMathieu Elie
 
Cours sur github part3 git
Cours sur github part3 gitCours sur github part3 git
Cours sur github part3 gitPape Diop
 
Débuter avec Git & github
Débuter avec Git & githubDébuter avec Git & github
Débuter avec Git & githubMonoem Youneb
 
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
 

Similar a Git et les systèmes de gestion de versions (20)

Git pratique
Git pratiqueGit pratique
Git pratique
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
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 vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
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...
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
REX - Passage de CVS à Git
REX - Passage de CVS à GitREX - Passage de CVS à Git
REX - Passage de CVS à Git
 
GIT Fundamentals
GIT FundamentalsGIT Fundamentals
GIT Fundamentals
 
3_SCM_Git.pdf
3_SCM_Git.pdf3_SCM_Git.pdf
3_SCM_Git.pdf
 
Git
GitGit
Git
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdf
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratique
 
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
 
Pourquoi versionner ses githooks.pdf
Pourquoi versionner ses githooks.pdfPourquoi versionner ses githooks.pdf
Pourquoi versionner ses githooks.pdf
 
Elasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésElasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautés
 
Cours sur github part3 git
Cours sur github part3 gitCours sur github part3 git
Cours sur github part3 git
 
Débuter avec Git & github
Débuter avec Git & githubDébuter avec Git & github
Débuter avec Git & github
 
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 et les systèmes de gestion de versions

  • 1. Git et les systèmes de gestion de versions Pourquoi c'est bien Comment s'en servir 1 Tälk #02 - alice@pulz.fr
  • 2. De quoi s'agit-il ? • Maintenir l'ensemble des versions d'un ou plusieurs fichiers (exemple : l'historique Wikipedia) • Pouvoir rappeler une version antérieure à tout moment (révision) • Nécessité d'utiliser un logiciel • SVN • Mercurial • … ou Git 2 Tälk #02 - alice@pulz.fr
  • 3. Intérêt • Pouvoir travailler en équipe facilement • Arrêter d'effacer les fichiers du collègue et perdre des données • Arrêter de se mélanger dans ses sauvegardes • Arrêter de faire des bêtises sur le FTP • Avoir une vision globale du projet 3 Tälk #02 - alice@pulz.fr
  • 4. Git - Avantages • Travail hors ligne, la majorité des opérations est locale • Rapide • La quasi totalité des actions est réversible • Facilité dans la gestion des branches • Facile à utiliser 4 Tälk #02 - alice@pulz.fr
  • 5. Git - Les 3 états (1/3) • Gestion des données en instantané (snapshot) • Instantané = état du répertoire à un instant t • Mini système de fichiers • 3 états de fichiers : • Validé : données stockées en bd locale • Modifié : fichier modifié, pas encore validé en base • Indexé : fichier marqué pour faire partie de la prochaine révision 5 Tälk #02 - alice@pulz.fr
  • 6. Git - Les 3 états (2/3) • Répertoire git : ce qui est copié quand on clone un dépôt • Répertoire de travail : extraction unique d'une version du projet • Zone d'index : fichier qui stocke les infos concernant la prochaine révision 6 Tälk #02 - alice@pulz.fr
  • 7. Git - Les 3 états (3/3) • On modifie des fichiers dans son répertoire de travail • On indexe les fichiers modifiés • $ git add • On valide les modifications dans la base de données du répertoire git • $ git commit 7 Tälk #02 - alice@pulz.fr
  • 8. Démarrer un dépôt git existant • $ git clone git://github.com/schacon/grit.git • On récupère tout le repository en local • $ git add . • On indexe certains fichiers (ici, tous) • $ git commit -m ''mon message de commit'' • On enregistre les changements sur le dépôt • $ git push origin master • On met à jour le dépôt distant, déploiement • Si quelqu'un a modifié le projet entre temps, on tire : • $ git pull 8 Tälk #02 - alice@pulz.fr
  • 9. Les branches (1/2) • Branche : diverger de la ligne principale de développement • Pratique pour résoudre un bug, ou quand on a une super idée de nouveau module... • Git privilégie la création/fusion de branches comme méthode de travail 9 Tälk #02 - alice@pulz.fr
  • 10. Les branches (2/2) • Créer une branche « correctif » : • $ git branch correctif • $ git checkout correctif • (ou $ git checkout -b correctif) • On a fini de travailler sur la branche • $ git checkout master • $ git merge correctif • On supprime la branche correctif • $ git branch -d correctif 10 Tälk #02 - alice@pulz.fr
  • 11. Conflit • La fusion de branche n'a pas fonctionné automatiquement : conflit de fusion • $ git status pour voir où se trouve le conflit • On résout le conflit • $ git add pour marquer le fichier comme résolu • $ git status pour vérifier que tout va bien • On a tout cassé, besoin de revenir en urgence sur la branche principale • $ git stash retour à l'état d'origine 11 Tälk #02 - alice@pulz.fr
  • 12. Où héberger son dépôt ? • Github • Gratuit pour l'open-source • Joli • Application pour Windows et Mac • Grande communauté • Le NAS Pülz ! • Git est installé • Et bientôt, Gitlab (interface graphique) ! 12 Tälk #02 - alice@pulz.fr
  • 13. www.pulz.fr – Collectif effervescent de travailleurs indépendants alice@pulz.fr Source : http://git-scm.com/book/fr/ 13 Tälk #02 - alice@pulz.fr