SlideShare une entreprise Scribd logo

Présentation Git & GitHub

Présentation sur Git et GitHub faite dans le cadre de mes études à l'ISEP.

1  sur  28
Télécharger pour lire hors ligne
Le protocole Git et GitHub
Groupe G2A - Alexis Dahan, Alexandre Gay, Hugo Michard
Louis Arbaretier, Thibaut Vlacich, Léo Plouvier 1
27/10/2015
27/10/2015
Sommaire de la présentation
I. Introduction aux systèmes de gestion de versions
II. Pourquoi utiliser un système de gestion de versions ?
III. Le cas particulier de Git
IV. GitHub et son interface graphique
V. L’intégration du protocole Git à l’IDE
VI. Conclusion
2
27/10/2015
I. Introduction aux systèmes de gestion de versions
 La gestion de versions (en anglais “Version Control”) permet de gérer
multiples versions d’un document, d’un site Web, d’un programme
etc.
 L’utilisation d’un tel système est essentielle dans un projet en équipe,
mais peut aussi être utile dans un projet individuel
 Les systèmes de gestion de versions les plus connus sont CVS,
Mercurial, Subversion ou encore Git
 CVS et Subversion utilisent un serveur « central ». Les utilisateurs doivent
fréquemment mettre à jour leur version de travail locale depuis ce
serveur « central » et y envoyer leurs modifications
 Mercurial et Git traitent, eux, tous les dépôts comme égaux
 Les systèmes Mercurial et Git sont plus récents et s’imposent de plus
en plus face à CVS et Subversion
3
27/10/2015
Un exemple simple de gestion de versions
 L’exemple de Google Docs
4
Historique des
modifications
La modification
effectuée
27/10/2015
II. Pourquoi utiliser un système de gestion de versions ?
 Lorsque l’on travaille seul :
 Offre une « machine à voyager dans le temps », permettant de revenir à
d’anciennes versions du projet
 Offre la possibilité de travailler simultanément sur différentes versions
d’un même projet (exemple : version en production et version de
développement)
 Lorsque l’on travaille en équipe :
 Simplifie grandement le travail simultané, et la fusion des modifications
5
27/10/2015
III. Le cas particulier de Git
6
Le plan de cette partie :
1. Qu’est-ce que Git ?
2. Pourquoi utiliser Git face à d’autres solutions ?
3. Le fonctionnement de Git
4. Comment installer Git ?
5. Utiliser Git en lignes de commande

Recommandé

Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesStéphane Di Cioccio
 
Formation autour de git et git lab
Formation autour de git et git labFormation autour de git et git lab
Formation autour de git et git labAbdelghani Azri
 
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
 

Contenu connexe

Tendances

Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
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
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Noa Harel
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)safwenbenfredj
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Simplilearn
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et DockerStephane Manciot
 

Tendances (20)

Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
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
 
Les bases de git
Les bases de gitLes bases de git
Les bases de git
 
Git l'essentiel
Git l'essentielGit l'essentiel
Git l'essentiel
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Docker
DockerDocker
Docker
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 

En vedette

Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Gitmsadouni
 
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
 
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
 
LPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texteLPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texteNoël
 
C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)Ulrich VACHON
 
Comparison of SVN and Git
Comparison of SVN and GitComparison of SVN and Git
Comparison of SVN and GitDaniel Wieth
 
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Nicolas Ruffel
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHubNishan Bose
 
Introduction Professional Scrum Developer for Java
Introduction Professional Scrum Developer for JavaIntroduction Professional Scrum Developer for Java
Introduction Professional Scrum Developer for JavaJoris De Winne
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitLukas Fittl
 
Java 201 Intro to Test Driven Development in Java
Java 201   Intro to Test Driven Development in JavaJava 201   Intro to Test Driven Development in Java
Java 201 Intro to Test Driven Development in Javaagorolabs
 
Devoxx 2016 - L'odyssée du continuous delivery
Devoxx 2016 - L'odyssée du continuous deliveryDevoxx 2016 - L'odyssée du continuous delivery
Devoxx 2016 - L'odyssée du continuous deliveryDavid Caramelo
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 

En vedette (20)

Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Git
 
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
 
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 ?
 
LPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texteLPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texte
 
Git training
Git trainingGit training
Git training
 
C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)
 
Comparison of SVN and Git
Comparison of SVN and GitComparison of SVN and Git
Comparison of SVN and Git
 
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
 
Ippevent Ogury 2016
Ippevent Ogury 2016Ippevent Ogury 2016
Ippevent Ogury 2016
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Introduction Professional Scrum Developer for Java
Introduction Professional Scrum Developer for JavaIntroduction Professional Scrum Developer for Java
Introduction Professional Scrum Developer for Java
 
SVN 2 Git
SVN 2 GitSVN 2 Git
SVN 2 Git
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Java 201 Intro to Test Driven Development in Java
Java 201   Intro to Test Driven Development in JavaJava 201   Intro to Test Driven Development in Java
Java 201 Intro to Test Driven Development in Java
 
Github basics
Github basicsGithub basics
Github basics
 
Devoxx 2016 - L'odyssée du continuous delivery
Devoxx 2016 - L'odyssée du continuous deliveryDevoxx 2016 - L'odyssée du continuous delivery
Devoxx 2016 - L'odyssée du continuous delivery
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
DevOps
DevOpsDevOps
DevOps
 

Similaire à Présentation Git & GitHub

Gestion de projet avec GitHub
Gestion de projet avec GitHubGestion de projet avec GitHub
Gestion de projet avec GitHubNicolas Bats
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Le système de versioning git
Le système de versioning gitLe système de versioning git
Le système de versioning gitNassim Bahri
 
Git & Rstudio vincent guyader
Git & Rstudio vincent guyaderGit & Rstudio vincent guyader
Git & Rstudio vincent guyaderVincent Guyader
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfmouad55
 
Outils web pour le développement collaboratif
Outils web pour le développement collaboratifOutils web pour le développement collaboratif
Outils web pour le développement collaboratifPhilippe Guglielmetti
 
Outils web pour le développement collaboratif
Outils web pour le développement collaboratifOutils web pour le développement collaboratif
Outils web pour le développement collaboratifPhilippe Guglielmetti
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Débuter avec Git & github
Débuter avec Git & githubDébuter avec Git & github
Débuter avec Git & githubMonoem Youneb
 
Travailler avec git et eclipse
Travailler avec git et eclipseTravailler avec git et eclipse
Travailler avec git et eclipseFrancois ANDRE
 
Azure pipelines vs GitHub actions
Azure pipelines vs GitHub actionsAzure pipelines vs GitHub actions
Azure pipelines vs GitHub actionsAdrien Clerbois
 
REX - Passage de CVS à Git
REX - Passage de CVS à GitREX - Passage de CVS à Git
REX - Passage de CVS à GitPierre Templier
 
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
 
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...Makina Corpus
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015FactoVia
 
Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdfbadrfathallah2
 

Similaire à Présentation Git & GitHub (20)

Gestion de projet avec GitHub
Gestion de projet avec GitHubGestion de projet avec GitHub
Gestion de projet avec GitHub
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Le système de versioning git
Le système de versioning gitLe système de versioning git
Le système de versioning git
 
Git & Rstudio vincent guyader
Git & Rstudio vincent guyaderGit & Rstudio vincent guyader
Git & Rstudio vincent guyader
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdf
 
Outils web pour le développement collaboratif
Outils web pour le développement collaboratifOutils web pour le développement collaboratif
Outils web pour le développement collaboratif
 
Outils web pour le développement collaboratif
Outils web pour le développement collaboratifOutils web pour le développement collaboratif
Outils web pour le développement collaboratif
 
Get startedwithgit2
Get startedwithgit2Get startedwithgit2
Get startedwithgit2
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Outils de gestion de projets
Outils de gestion de projetsOutils de gestion de projets
Outils de gestion de projets
 
Débuter avec Git & github
Débuter avec Git & githubDébuter avec Git & github
Débuter avec Git & github
 
Travailler avec git et eclipse
Travailler avec git et eclipseTravailler avec git et eclipse
Travailler avec git et eclipse
 
Azure pipelines vs GitHub actions
Azure pipelines vs GitHub actionsAzure pipelines vs GitHub actions
Azure pipelines vs GitHub actions
 
3_SCM_Git.pdf
3_SCM_Git.pdf3_SCM_Git.pdf
3_SCM_Git.pdf
 
git.pdf
git.pdfgit.pdf
git.pdf
 
REX - Passage de CVS à Git
REX - Passage de CVS à GitREX - Passage de CVS à Git
REX - Passage de CVS à Git
 
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...
 
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
 
Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdf
 

Présentation Git & GitHub

  • 1. Le protocole Git et GitHub Groupe G2A - Alexis Dahan, Alexandre Gay, Hugo Michard Louis Arbaretier, Thibaut Vlacich, Léo Plouvier 1 27/10/2015
  • 2. 27/10/2015 Sommaire de la présentation I. Introduction aux systèmes de gestion de versions II. Pourquoi utiliser un système de gestion de versions ? III. Le cas particulier de Git IV. GitHub et son interface graphique V. L’intégration du protocole Git à l’IDE VI. Conclusion 2
  • 3. 27/10/2015 I. Introduction aux systèmes de gestion de versions  La gestion de versions (en anglais “Version Control”) permet de gérer multiples versions d’un document, d’un site Web, d’un programme etc.  L’utilisation d’un tel système est essentielle dans un projet en équipe, mais peut aussi être utile dans un projet individuel  Les systèmes de gestion de versions les plus connus sont CVS, Mercurial, Subversion ou encore Git  CVS et Subversion utilisent un serveur « central ». Les utilisateurs doivent fréquemment mettre à jour leur version de travail locale depuis ce serveur « central » et y envoyer leurs modifications  Mercurial et Git traitent, eux, tous les dépôts comme égaux  Les systèmes Mercurial et Git sont plus récents et s’imposent de plus en plus face à CVS et Subversion 3
  • 4. 27/10/2015 Un exemple simple de gestion de versions  L’exemple de Google Docs 4 Historique des modifications La modification effectuée
  • 5. 27/10/2015 II. Pourquoi utiliser un système de gestion de versions ?  Lorsque l’on travaille seul :  Offre une « machine à voyager dans le temps », permettant de revenir à d’anciennes versions du projet  Offre la possibilité de travailler simultanément sur différentes versions d’un même projet (exemple : version en production et version de développement)  Lorsque l’on travaille en équipe :  Simplifie grandement le travail simultané, et la fusion des modifications 5
  • 6. 27/10/2015 III. Le cas particulier de Git 6 Le plan de cette partie : 1. Qu’est-ce que Git ? 2. Pourquoi utiliser Git face à d’autres solutions ? 3. Le fonctionnement de Git 4. Comment installer Git ? 5. Utiliser Git en lignes de commande
  • 7. 27/10/2015 III. Le cas particulier de Git 7 1. Qu’est-ce Git ? Git est un logiciel de gestion de versions décentralisé. Il est open source, et a été créé aux alentours de 2005 par Linus Torvalds, développeur du noyau Linux, tout d’abord pour son usage personnel car il n’aimait pas les solutions déjà existantes comme CVS ou SVN. “When I say I hate CVS with a passion, I have to also say that if there are any SVN [Subversion] users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right.” Linus Torvalds
  • 8. 27/10/2015 III. Le cas particulier de Git 8 2. Pourquoi utiliser Git face à d’autres solutions ?  Git a de nombreux avantages face à de plus anciens systèmes comme CVS et Subversion (SVN)  Git est extrêmement simple d’utilisation, notamment couplé à une interface graphique comme GitHub  Git est rapide  Travailler hors-ligne : Git ne requiert pas de serveur distant pour fonctionner  Et bien entendu, Git est gratuit et open source
  • 9. 27/10/2015 III. Le cas particulier de Git 9 3. Le fonctionnement de Git  Faire un commit  Lorsque vous avez fait des modifications dans votre code, il faut les publier (faire un « commit »)  Un commit doit obligatoirement être accompagné d’une courte description (de préférence en anglais, et en quelques mots)  Exemple d’un bon commit : « Adds robots.txt »  Exemple d’un mauvais commit : « Modification de la ligne 75 du fichier System/Main.php » git commit -am "Commit description"
  • 10. 27/10/2015 III. Le cas particulier de Git 10 3. Le fonctionnement de Git  Le principe des branches master Ma fonctionnalité Création d’une nouvelle branche Fusion de la nouvelle branche dans la branche principale git checkout -b my_new_branch  La création d’une nouvelle branche est particulièrement utile lorsque plusieurs versions d’une même application cohabitent, ou lorsque l’on veut développer une nouvelle fonctionnalité nécessitant des changements majeurs dans le code
  • 11. 27/10/2015 III. Le cas particulier de Git 11 3. Le fonctionnement de Git  Résoudre un conflit  Parfois, il peut arriver que l’une de vos modifications entre en conflit avec les modifications de quelqu’un d’autre, et que Git ne soit pas capable de fusionner automatiquement vos modifications  Dans ce cas, il sera demandé de corriger manuellement le conflit en allant éditer le(s) fichier(s) concerné(s)
  • 12. 27/10/2015 III. Le cas particulier de Git 12 3. Le fonctionnement de Git  Exemple d’un conflit Hello world! I’m using Git. Hi everyone! I’m using Git. Hello everyone! I’m using Git. Developer A Developer B La fusion est ici impossible Il y a un conflit ! Bonjour le monde ! J‘utilise Git. Version de base master branch B Version fusionnée manuellement
  • 13. 27/10/2015 III. Le cas particulier de Git 13 3. Le fonctionnement de Git  Les dépôts distants (remote)  La seule particularité d’un dépôt distant est d’être situé dans le « cloud » (ou dans un Intranet), et donc d’être accessible par tous 24h/24, 7j/7  Le dépôt distant permet à tous les collaborateurs de partager leurs modifications du code Dépôt distant Développeur A Développeur B git pullgit push
  • 14. 27/10/2015 III. Le cas particulier de Git 14 4. Comment installer Git ?  Pour installer Git, il suffit simplement de télécharger l’installateur sur le site officiel de Git : https://git-scm.com/downloads
  • 15. 27/10/2015 III. Le cas particulier de Git 15 5. Utiliser Git en lignes de commande  Après avoir installé Git, il suffit de lancer le logiciel « Git Bash » pour pouvoir utiliser Git en mode lignes de commande
  • 16. 27/10/2015 III. Le cas particulier de Git 16 5. Utiliser Git en lignes de commande  Cependant, l’utilisation de Git en lignes de commande peut-être relativement compliquée et non-intuitive et nous n’entrerons donc pas dans les détails  Nous préférerons donc l’utilisation d’une interface graphique comme celle développée par GitHub  Si vous voulez cependant en savoir plus sur l’utilisation de Git en lignes de commande, GitHub met à disposition un court aide-mémoire regroupant les principales commandes utilisables avec Git :  https://training.github.com/kit/downloads/fr/github-git-cheat-sheet.pdf
  • 17. 27/10/2015 IV. GitHub et son interface graphique 17 Le plan de cette partie : 1. Qu’est-ce que GitHub ? 2. Comment installer GitHub Desktop ? 3. Comment créer un dépôt GitHub et le cloner sur son ordinateur ? 4. L’interface de GitHub Desktop 5. Obtenir gratuitement un compte « Micro » grâce au programme « GitHub Education »
  • 18. 27/10/2015 IV. GitHub et son interface graphique 1. Qu’est-ce que GitHub ?  GitHub est avant tout une communauté  Elle regroupe plus de 11 millions d’utilisateurs  Plus de 28 millions de projets ont été créé sur GitHub  Elle permet de faciliter la collaboration de développeurs du monde entier sur un même projet  Mais GitHub est aussi une société d’hébergement, qui propose des solutions de gestion de développement de logiciels, basées sur le protocole Git  L’utilisation de GitHub est entièrement gratuite, dans le cadre d’un développement open source (et donc public)  GitHub a également développé un logiciel appelé « GitHub Desktop », qui permet de gérer son projet sous Git très facilement, via une interface graphique 18
  • 19. 27/10/2015 IV. GitHub et son interface graphique 1. Qu’est-ce que GitHub ?  GitHub est utilisé par de nombreuses sociétés du monde des nouvelles technologies pour leurs projets open source  Entre autres… 19
  • 20. 27/10/2015 IV. GitHub et son interface graphique 2. Comment installer GitHub Desktop ?  GitHub Desktop est disponible sur Windows et Mac  GitHub Desktop est gratuit et téléchargeable sur https://desktop.github.com  GitHub Desktop permet de faire simplement et graphiquement toutes les opérations liées à Git 20
  • 21. 27/10/2015 IV. GitHub et son interface graphique 3. Comment créer un dépôt GitHub et le cloner sur son ordinateur ?  Tout d’abord il faut créer un compte gratuitement sur https://github.com  Une fois le compte créé, il suffit de cliquer sur le petit pour créer un nouveau dépôt 21
  • 22. 27/10/2015 IV. GitHub et son interface graphique 3. Comment créer un dépôt GitHub et le cloner sur son ordinateur ?  Une fois le dépôt créé, il est possible de le cloner localement sur votre machine en un clic, via GitHub Desktop, en cliquant sur  Il est recommandé de cloner le dépôt dans le dossier htdocs de XAMPP 22
  • 23. 27/10/2015 IV. GitHub et son interface graphique 4. L’interface de GitHub Desktop  Les captures d’écrans ont été réalisées sur la version Windows de GitHub Desktop. L’interface sur Mac est très similaire, mais comporte quelques légères différences. 23Historique des modifications Détail des modifications Synchroniser le dépôt local avec le dépôt remote Créer une nouvelle branche Changer de branche
  • 24. 27/10/2015 IV. GitHub et son interface graphique 4. L’interface de GitHub Desktop  Les captures d’écrans ont été réalisées sur la version Windows de GitHub Desktop. L’interface sur Mac est très similaire, mais comporte quelques légères différences. 24 Liste des fichiers modifiés Détail des modifications Description du commit
  • 25. 27/10/2015 IV. GitHub et son interface graphique 5. Obtenir un compte « Micro » grâce au programme « GitHub Education »  GitHub offre la possibilité aux étudiants d’obtenir gratuitement un compte « Micro » (normalement à 7$ par mois), permettant d’avoir jusqu’à 5 dépôts privés durant la durée des études.  Pour cela, il suffit de se rendre sur https://education.github.com/ et de demander son « Student Developer Pack » !  Il n’est pas nécessaire que tous les membres du groupe fassent une demande. Seul le propriétaire du dépôt a besoin d’un compte « Micro » 25
  • 26. 27/10/2015 V. L’intégration de Git à l’IDE 26  L’exemple d’Atom, l’IDE développé par GitHub. Atom est gratuit et téléchargeable sur www.atom.io
  • 27. 27/10/2015 VI. Conclusion En conclusion, Git est un outil performant et simple d’utilisation, qui facilitera grandement le travail en équipe au sein de votre groupe durant le développement de votre site web. Les principales difficultés liées à l’utilisation de Git viennent de la résolution des éventuels conflits entre vos modifications et celles des autres. Pour éviter au maximum les conflits :  Eviter que plusieurs personnes travaillent sur une même partie du code en même temps  Avant de commencer à travailler, s’assurer de récupérer la dernière version du code  Publier ses modifications (faire un « commit ») le plus souvent possible  Eviter de « commit » de trop grosses modifications 27
  • 28. 27/10/2015 Merci pour votre attention ! Sources :  https://en.wikipedia.org/wiki/Version_control  https://en.wikipedia.org/wiki/Git_(software)  https://git-scm.com/doc  https://help.github.com/  https://training.github.com/  http://www-inf.it-sudparis.eu/SIMBAD/courses/2015/?page_id=6 28

Notes de l'éditeur

  1. Voici ici l’exemple de la charte de notre groupe, ouverte dans Google Docs. Il est possible de visionner l’historique des modifications du fichier, qui les a faites et qu’est-ce-qui a été changé exactement.
  2. Certains IDE intègrent des fonctionnalités liées à Git. C’est par exemple le cas ici dans Atom, IDE créé par GitHub, qui permet de voir un coup d’œil les lignes contenant des modifications, la branche actuelle sur laquelle on se trouve, ou encore le nombre de caractères ajoutés/supprimés depuis le dernier commit.