GESTION DE VERSION
RIM SOUAADA
ROMAISAE KHOUJA
KAWTAR KHALIFI
IHSAN EZZOUIN
Definir la gestion de version Definir Git
Definir GitLab
La comparaisonentreGitLab et GitHub
01
GESTION DE VERSION
La gestion de version est un system qui permet
d’enregistrer,de suivre et de contrôler toutes les
modifications apportées à un projet,afin de
travailler efficacement,seul ou en équipe, sans
perder les anciennes versions.
GESTION DE VERSION DISTRIBUÉE
La gestion de versions distribuée est un système qui
permet à plusieurs développeurs de travailler sur un
même projet, chacun à son propre rythme, sans être
toujours connecté au serveur central.
Contrairement à la gestion centralisée, où il existe un
seul dépôt principal, la gestion distribuée permet à
chaque utilisateur d’avoir une copie complète du
projet sur son ordinateur. 02
Ce modèle est très utilisé dans les projets open source,
car il facilite la collaboration et la contribution de
nombreux développeurs à travers le monde.
Les outils les plus connus de gestion de versions
distribuée sont Git et GNU Arch.
Par exemple, Git permet de créer un dépôt local sur son
ordinateur, et ce dépôt peut être synchronisé avec un
dépôt central hébergé sur des plateformes comme
GitHub ou GitLab.
Grâce à cela, chaque développeur peut contribuer à un
même projet, envoyer ses changements, ou même
utiliser le code dans un autre projet.
03
Exemple d’outils de la gestion de version
A) Les wikis
• Permettent de garder un historique des modifications.
• Exemples :
• Moodle : utilisé pour la formation et l’enseignement.
• GitHub Wiki : documentation et organisation entre
collaborateurs.
• MediaWiki : logiciel open-source utilisé pour Wikipédia
et EduTech Wiki.
b) Les logiciels de traitement de texte
• Suivi des versions souvent intégré dans les
versions en ligne et collaboratives.
• Exemples : Microsoft Office, Google Docs.
c) Les systèmes de gestion de versions centralisés
• Fonctionnent avec un serveur central qui stocke
toutes les version
• Exemples : CVS, Subversion (SVN).
d) Les systèmes de gestion de versions
décentralisés
• Chaque utilisateur peut avoir une copie complète
du projet.
• Exemples : Git, Mercurial (logiciels libres et très
utilisés aujourd’hui)
e) Solutions payantes centralisées
• Exemple : TFS (Team Foundation Server) de
Microsoft, utilisé dans les entreprises.
GIT:
estunlogiciel de gestion de versions
distribuée qui permet de suivre les
modifications d’un projet et de collaborer à
plusieurs développeurs. Chaque utilisateur
possède une copie complète du dépôt, ce qui
permet de travailler même sans connexion
Internet et de fusionner facilement les
changements entre différentes versions du
projet.
04
INSTALLATION DE GIT
PourinstallerGit, il suffit de télécharger laversion
adaptée à votre système d’exploitation depuis le site
officiel [Link].
Sur Windows, on lance simplement le fichier
d’installation et on suit les étapes par défaut.
Sur macOS, Git peut être installé via Homebrew avec la
commande brew install git.
Et sur Linux, on l’installe depuis le terminal avec la
commande sudo apt install git.
Une fois installé, on vérifie la version avec git --version,
puis on configure le nom et l’adresse e-mail de
l’utilisateur avec git config --global [Link] et git
config --global [Link]. 05
git init Initialiser un nouveau dépôt Git.
git clone Cloner un dépôt Git existant.
git status Vérifier l'état des fichiers dans le répertoire de travail.
git add Ajoutez des fichiers à la zone de transit.
git commit Livrer les modifications à l'étape dans le dépôt local.
git remote add Ajoutez une connexion au dépôt à distance.
LES COMMANDES git push Transférer les modifications effectuées vers un référentiel distant.
git pull Récupérez et fusionnez les modifications d'un référentiel distant.
git fetch Récupérer les modifications d'un dépôt distant sans les fusionner.
git branch Listez, créez ou supprimez des branches.
git checkout Passer d'une branche à l'autre ou restaurer des fichiers (ancienne méthode).
git switch Passer d'une branche à l'autre (préférable dans les versions les plus récentes).
git merge Fusionner les modifications d'une branche dans une autre.
git diff Montrez les différences entre les divers états du référentiel.
06
Gitlab
c’est une plateforme permettant d’héberger et de
gérer des projets web de A à Z. Présentée comme la
plateforme des développeurs modernes, elle offre la
possibilité de gérer ses dépôts Git et ainsi de mieux
appréhender la gestion des versions de vos codes
sources.
07
INSTALLATION
Pourinstaller et travailler avec GitLab, il faut
d’abord créer un compte surle site [Link] ou
installer la version GitLab Community Edition sur
son propre serveur. Après l’inscription, on peut
créer un nouveau projet, qui servira de dépôt pour
stocker le code source. Pour travailler localement,
on installe Git sur son ordinateur, puis on clone le
dépôt GitLab avec la commande git clone suivie de
l’URL du projet. Ensuite, on peut modifier les
fichiers, enregistrer les changements avec git add
et git commit, puis les envoyer sur GitLab avec git
push. L’interface GitLab permet ensuite de
collaborer avec d’autres développeurs, suivre les
versions, créer des merge requests, et gérer les
tâches du projet grâce à ses outils intégrés de
gestion et d’intégration continue (CI/CD).
08
CONFLIT DE FUSION
Unconflit Git seproduitlorsque deux personnes (ou
deux versionsdifférentes d’un même projet)
modifient la même partie d’un fichier et que Git ne
sait pas quelle version garder. Par exemple, si deux
développeurs changent la même ligne de code sur
des branches différentes, Git ne peut pas fusionner
automatiquement ces changements. Lorsqu’un
conflit arrive, Git marque les zones concernées dans
le fichier avec des signes spéciaux (<<<<<<<, =======,
>>>>>>>) pour montrer les différences entre les
versions. Le développeur doit alors résoudre le
conflit manuellement en choisissant ou combinant
les bonnes modifications
09
compraison entre Github et Gitlab
10
THANK YOU