Systèmes de gestion de
versions (SGV)
Git & GitHub
ISET Bizerte -Depatement TI
Présenté par : Najla Allouche
Plan
Introduction aux Systèmes de Gestion de Versions
Intérêt des Systèmes de Gestion de Versions
Le protocole git
GitHub
Intégration du protocole Git à l’IDE
Intégration du protocole Git aux outils de gestion de
projet agile
2/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Introduction aux Systèmes de Gestion de
Versions
o 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.
o L’utilisation d’un tel système est essentielle
dans un projet en équipe, mais peut aussi
être utile dans un projet individuel.
3/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Introduction aux Systèmes de Gestion de
Versions
Décentralisé
Git, Mercurial…
Centralisé
Team Fondation Server, CVS,SVN
File Base
Batch File, Visual Source Safe
Aucun Contrôle
Gestion des sources par backup
4/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Intérêt des Systèmes de Gestion de
Versions
• Qui a modifié pour la dernière fois ce fichier ?
• Quelles sont les différences entre 2 versions
de ce fichier ?
• Quelle est la version du 02 novembre 2017?
5/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
Advertisement
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Intérêt des Systèmes de Gestion de
Versions
Et encore:
Le travail collaboratif
• Gestion des branches
mener en parallèle plusieurs versions
(stable, testing, ...)
• Sécurité
Intégrité, Disponibilité, Confidentialité
6/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Le protocole 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, qui est …., tout d’abord pour son
usage personnel et finir pour l’usage
public.
7/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Le protocole Git
Les avantages de Git:
o Simplicité d’utilisation, notamment couplé à
une interface graphique comme GitHub.
o Rapidité
o Disponibilité : Git ne requiert pas de
serveur distant pour fonctionner
o Gratuité
o Open source
8/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Le protocole Git
Commit
Checkout
Diff
Local
Repository
Puch
Fetch
Advertisement
Remote
Repository
Workspace
9/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Les commits
o Lorsque vous avez fait des modifications
1/5
dans votre code, il faut les publier (faire un
« commit »)
o Un commit doit obligatoirement être
accompagné d’une courte description (de
préférence en anglais, et en quelques
mots)
o « Adds robots.txt »
o « Modification de la ligne 75 du fichier
System/Main.php »
10/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Les branches
2/5
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/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Les conflits
3/5
o 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
o Dans ce cas, il sera demandé de corriger
manuellement le conflit en allant éditer le(s)
fichier(s) concerné(s)
12/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Advertisement
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Exemple de conflits
4/5
13/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Avantages
Architecture
Fonctionnement
Installation
5/5
Pour installer Git, il suffit simplement de
télécharger l’installer sur le site officiel de
Git :
https://git-scm.com/downloads
14/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
Définition
Configuration
Fonctionnement
GitHub
o une communauté
o regroupe plus de 11 millions d’utilisateurs et plus de 28
millions de projets créé sur GitHub
o permet de faciliter la collaboration de développeurs du
GitHub
monde entier sur un même projet
o une société d’hébergement
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
o propose des solutions de gestion de développement de
logiciels, basées sur le protocole Git
o l’utilisation est gratuite pour le développement open
source (et donc public)
o GitHub a développé un logiciel « GitHub Desktop », qui
permet une gestion simple des projets sous Git.
15/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Configuration
Fonctionnement
Démo
16/21
Introduction
aux Systèmes
de Gestion de
Advertisement
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Définition
Configuration
Fonctionnement
Démo
17/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
GitHub pour l’éducation
18/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Intégration du protocole Git à l’IDE
19/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
GitHub
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
Intégration du protocole Git aux outils de
gestion de projet agile
20/21
Introduction
aux Systèmes
de Gestion de
Versions
Intérêt des
Systèmes de
Gestion de
Versions
Le protocole git
Merci pour votre attention !
GitHub
Sources :
Intégration du
protocole Git à
l’IDE
Intégration du
protocole Git
aux outils de
gestion de
projet agile
o https://en.wikipedia.org/wiki/Version_control
o https://en.wikipedia.org/wiki/Git_(software)
o https://git-scm.com/doc
o https://help.github.com/
o https://training.github.com/
21/21