Académique Documents
Professionnel Documents
Culture Documents
versions
2ACI - ISITD – 2023/2024
2
Gestion de configuration/ gestion de versions
La gestion de versions est une compétence nécessaire pour le développement de logiciel. Elle sépare nettement les
rôles des acteurs impliqués dans le projet
3
Pourquoi un système de gestion de versions?
4
Gestion de configuration/ gestion de versions
QUI:
▪ Qui est responsable de cette anomalie (bug)?
▪ Qui a développé cette fonctionnalité ?
▪ Qui a modifié ce fichier ?
QUOI:
▪ Quelle est la dernière version de l’application ?
▪ Quelle version a-t-on distribuée à ce client ?
QUAND:
5
Types de systèmes de gestion de versions
Source: https://www.openhub.net/repositories/compare
- Novembre 2020
La gestion de versions - Le modèle local
7
La gestion de versions - Le modèle local
Avantages:
Inconvénients:
8
La gestion de versions - Le modèle centralisé
Vous perturbez le travail des autres membres de Vous prenez le risque de ne pas versionner
l'équipe de développement votre travail pendant des jours voir des
semaines.
Ce dilemme intervient car versionner et partager sont traités comme étant la même opération.
11
La gestion de versions - Le modèle décentralisé
▪ Poussant (push)
▪ Intégrant/ tirant (pull)
12
La gestion de versions - Le modèle centralisé
13
La gestion de versions - Le modèle décentralisé
14
GIT ou SVN ? Centralisé ou Distribué ?
15
Principe de numérotation des versions
▪ Format: m.n.p
▪ p: numéro de patch
Incrémentation lors de la correction de bugs (maintenance
corrective) 16
HISTOIRE DE GIT
La communauté de linux (Torvalds) développe leur propre outil en se basant sur les leçons apprises
lors de l’utilisation de Bitkeeper.
▪ Conception simple.
▪ Complètement distribué
▪ Capacité à gérer efficacement des projets d’envergure tels que le noyau Linux
17
SVN ou GIT
18
Création et initialisation d’un dépôt GIT
Etape 1 Etape 2
19
Création et initialisation d’un dépôt GIT
20
Etats des fichiers dans GIT
21
Gestion des branches dans GIT
Une branche est une arborescence secondaire, zone de travail, utilisée pour des développements ou des
corrections en parallèle à l’arborescence principale. Ils représentent des révisions officieuses de moindre
importance (e.g. 1.0 et 1.1)
22
Gestion des branches dans GIT
23
Distribution et ou tag
▪ Distribution (ou tag) : révisions officielles du projet auquel on associe un symbole (nom
e.g. ”stable, testing, unstable” ou numéro e.g.” 1.0, 2.0, 3.0”)
24
Quelques commandes de bases
Il existe une large variété de commandes git disponibles dans le mode bac à sable.
Renommer un fichier
▪ git mv ancienfichier nouveau fichier
27
Une panoplie de commandes utiles
28