Vous êtes sur la page 1sur 122

ATELIER : DEVOPS

Mohamed HAMMOUDA

DevOps

A Successful Path To
Continuous Integration
And Continuous Delivery

Année Universitaire 2020-2021 1


▪ PLAN DE L’ATELIER

1 INTRODUCTION AU DEVOPS

2 LE CONTRÔLE DES VERSIONS : GIT & GITLAB

3 LE CONTRÔLE DE QUALITÉ DES LOGICIELS

4 LES CONTENEURS APPLICATIVES : DOCKER

5 INTÉGRATION CONTINUE ET DÉPLOIEMENT CONTINU

2
▪ PLAN DE L’ATELIER

1 INTRODUCTION AU DEVOPS

2 LE CONTRÔLE DES VERSIONS : GIT & GITLAB

3 LE CONTRÔLE DE QUALITÉ DES LOGICIELS

4 LES CONTENEURS APPLICATIVES : DOCKER

5 INTÉGRATION CONTINUE ET DÉPLOIEMENT CONTINU

3
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Ce que fait un informaticien
▪ Créer des fichiers
▪ Sauvegarder des fichiers
▪ Editer des fichiers
▪ Sauvegarder de nouveau ces fichiers
▪ …
Contrôle manuel des versions:
▪ Projet.sln
▪ ProjetV1.sln
▪ Projet-12-02-2018.sln
Temps ▪ Projet-14-02-2018.sln
▪ Projet-Clientxxx,sln
▪ Projet-Clientxyz,sln
▪ …
Ligne de vie d’un fichier
4
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Ce que fait un informaticien
▪ Créer des fichiers
▪ Sauvegarder des fichiers
▪ Editer des fichiers
▪ Sauvegarder de nouveau ces fichiers
▪ …
Peut-on automatiser ceci ?
▪ Pour chaque version du fichier,
nous avons besoin de savoir :
1. Quand le fichier a été
Temps
modifié,
2. Ce qui a été modifié?
3. Pourquoi il a été modifié?
Ligne de vie d’un fichier
5
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Ce que fait un informaticien
▪ Créer des fichiers
▪ Sauvegarder des fichiers
▪ Editer des fichiers
▪ Sauvegarder de nouveau ces fichiers
▪ …
Peut-on automatiser ceci ?
▪ Pour chaque version du fichier,
nous avons besoin de savoir :
1. Quand le fichier a été
Temps
modifié,
2. Ce qui a été modifié?
3. Pourquoi il a été modifié?
Ligne de vie d’un fichier
4. Qui a réalisé la modification?
6
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT

▪ Définir plusieurs versions de votre


travail en sauvegardant à chaque foi
une copie (snapshot)
▪ Conservation de l’historique des
fichiers (qui a fait quoi ?)
Un système de contrôle de version
▪ Restaurer une version antérieure à
assurant une meilleure traçabilité partir d’une version courante
des modifications réalisées sur un ▪ Travailler sur plusieurs version d’un
fichier au fil du temps,
même fichier en parallèle,
▪ Visualiser les changements au cours
du temps
7
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT

▪ DEUX CONCEPTS FONDAMENTAUX :

▪ GIT COMMIT GRAPH

▪ THREE AREAS OF GIT REPOSITORY

8
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

= Commit
= Commit
Graph
9
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

10
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

11
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

12
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

13
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

14
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

15
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph
Checkout deleted file

16
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git commit Graph

Checkout modified the file

17
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ 3 area of Git Repository

18
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ 3 area of Git Repository

19
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ 3 area of Git Repository

20
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ 3 area of Git Repository

21
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ 3 area of Git Repository

22
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Start a new git repo

Si vous travaillez sur win vous pouvez taper code . Pour lancer VC
mgmt_ip : 10.0.0.1
vlans:
red:
id: 10
blue:
id: 20
ports
1: [10]
2: [20]
3: [10,20]

23
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Start a new git repo

git init : Initialise un nouveau répertoire git en ajoutant dedans le répertoire .git

24
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Start a new git repo

git init : Initialise un nouveau répertoire git en ajoutant dedans le répertoire .git

S1 still untracked until now


25
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Configure git username and email

git config : permet d’initialiser les paramètres globaux et locaux du git

26
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git Commit
git status : montre l’état de cohérence/incohérence entre le contenue de WT et SA

27
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git Commit
git add : ajoute les modifications apportées sur le/les fichiers qu’on aimerai
sauvegarder dans le staging area.
add ne veut pas dire ajouter un fichier, mais plutôt ajouter :
• Un nouveau fichier
• Des modifications apportées à un ou plusieurs fichiers
• Suppression de fichiers

28
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git Commit
git commit - m "message" : crée un commit et le place au sommet du commit
graph en spécifiant un message décrivant en sommaire les opérations effectuées sur
les fichiers sauvegardés.

29
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git Commit

30
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git log
git log : affiche d’une manière simple les information des différents commits réalisés

31
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Second Commit
Si vous travaillez sur win vous pouvez taper code . Pour lancer VC

mgmt_ip : 10.0.0.2 mgmt_ip : 10.0.0.1


vlans: vlans:
red: red:
id: 10 id: 10
blue: blue:
id: 20 id: 20
ports green:
1: [10,20] id: 30
ports fichier s1 modifié
2: [20]
3: [10,20] 1: [30]
2: [20]
Nouveau fichier s2 3: [10,20] 32
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Second Commit

33
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Git diff
git diff : montre les différences du point de vue contenu des fichiers trackés entre le
working tree et staging area

34
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Second Commit
git diff – staged : montre les différences de
point de vue contenu des fichiers, entre le staging
area et le dernier commit graph.

35
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Second Commit

git log – p : montre les modifications


pour chaque commit
36
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Remove a file in Git
git rm nomfichier: supprime le fichier en
même temps du working tree et du staging area

git rm s1

37
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Remove a file in Git

38
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Undo a working tree change
mgmt_ip : 10.0.0.1 mgmt_ip : 10.0.0.1
vlans: vlans:
red: red:
id: 10 id: 10
blue: blue:
id: 20 id: 20
green: green:
id: 30 id: 30
badvlan: ports
id: 0 1: [30]
Vérifier le résultat en tapant respectivement les
ports commande suivantes : 2: [20]
1: [30] Git diff
Git status
3: [10,20]
2: [20] Git checkout - - s1
Git diff
3: [10,20] Git status
39
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Undo staging of files
mgmt_ip : 10.0.0.1
vlans:
red:
id: 10
blue:
id: 20
green:
id: 30
ports
1: [10]
2: [20]
3: [10,20]

40
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Undo staging of files

41
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ Restore from an earlier commit
git checkout hashCode - - file : récupère un
fichier particulier d’un commit dont le hash code
est hashCode. Ce fichier sera restauré par la suite
dans le WT et le SA

42
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ LES CONCEPTS FONDAMENTAUX DU GIT
▪ .gitignore
.gitignor : est un fichier texte qui contient une liste de répertoires et de fichiers
intrackables

*.pyc
Logs/
.gitignore

43
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ LES BRANCHES AVEC GIT
▪ Faire une branche signifie diverger de la ligne principale de
développement et continuer à travailler sans se préoccuper
de cette ligne principale. Master/Main

▪ La première branche créée par git est appelée


master/Main

▪ Pourquoi des branches ?


▪ Pouvoir tester différentes implémentations d’une même
fonctionnalité de manière indépendante.
▪ Fixer des erreurs détecter au niveau de la branche principale
44
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Les branches avec git
▪ Chaque commit est identifié par un unique hash code
▪ Plusieurs pointeurs sont utilisés par git afin de gérer ses
différentes branches.
▪ master pointe sur le dernier commit de la branche
principale
▪ HEAD indique quelle est la branche active du projet

45
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Les branches avec git
▪ A chaque fois qu’un commit est créé sur la branche
principale, master pointe sur le dernier commit réalisé,

46
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Les branches avec git
1. Créer un répertoire netauto :
>mkdir netauto
2. Initialiser netauto avec git :
>cd netauto
>git init
3. Créer un fichier s1
Vous pouvez récupérer le fichier directement du git
4. Créer votre premier commit
>git add s1
>git commit –m "ajouté s1"
5. Créer un deuxième fichier s2
> >copy s1 s2
6. Créer votre deuxième commit
>git add s2
>git commit –m " s2 ajouté "

47
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Les branches avec git
7. Exécuter git log and git status

git log -- decorate -- all -- oneline --graph : affichage graphique des branches

créé un alias pour la commande

48
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Créer des nouvelles branches
Git branch branchName": crée une nouvelle branche nommée branchName. La nouvelle
branche sera pointée par un pointeur ayant le même nom que la branche

1. Créer une branche SDN


2. Créer une branche auth

49
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Se déplacer à travers les branches
État initial Git checkout branchName": se déplacer
vers la branche branchName

Ce positionner sur la
nouvelle branche SDN

Créer une nouvelle


version du fichier s1
sur la nouvelle
branche SDN
50
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ Branching and merging
▪ Se déplacer à travers les branches

Ce positionner sur la
nouvelle branche auth

Créer une nouvelle


version du fichier s1
sur la nouvelle
branche auth

51
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Se déplacer à travers les branches mgmt_ip : 10.0.0.1
Sdn-controller: 10.20.2.2
vlans:
red:
id: 10
blue:
id: 20
mgmt_ip : 10.0.0.1 ports
vlans: 1: [20]
red: 2: [10]
id: 10 mgmt_ip : 10.0.0.1 3: [10,20]
blue: vlans: Dernière version de s1
id: 20 red:
ports sur SDN
id: 10
1: [20] blue:
2: [10] id: 20
3: [10.20] ports
Auth-server: 1.30.3.3 1: [20]
Dernière version de s1 2: [10] Dernière version de s1
sur auth
3: [10.20] sur master
52
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Merger deux branches

▪ Fast-Forword merge

▪ Three way merge

53
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Fast-Forword merge Git diff branchName1.. branchName2:
affiche les différences entre les versions
des fichiers des deux branches

Direct path

Nous souhaitons fusionner les modifications du


sdn_controller dans la branche master
Comme il existe un chemin direct entre la source
du fichier à fusionner et le fichier lui-même, ce
type de fusion est qualifier de Fast-Forword
merge
Git merge branchName": merge la
source du fichier de la branche
courante avec le dernier commit du
fichier sur la brache branchName 54
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Fast-Forword merge
Git diff branchName1.. branchName2:
affiche les différences entre les versions mgmt_ip : 10.0.0.1
des fichiers des deux branches Sdn-controller: 10.20.2.2
vlans:
red:
id: 10
blue:
id: 20
ports Dernière version
1: [20] de s1 sur master
2: [10] et SDN
3: [10,20]

55
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Delete a branch
Git branch --merge: montre quelles
branche ont été fusionnée et quelle est
la branche active.

Git branch –d brancheName: force la suppression de la branche brancheName


même si elle n’a pas encore été fusionnée.

Si on essaye de supprimer une branche qui n’a pas encore été fusionnée, git
vous empêche de le faire on vous indiquant une erreur.

Git branch –D brancheName: force la suppression de la branche brancheName


même si elle n’a pas encore été fusionnée.
56
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Three way merge Fast-forword merge
X

57
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Three way merge

mgmt_ip : 10.0.0.1
Sdn-controller: 10.20.2.2
vlans:
red:
id: 10
blue:
id: 20
ports
1: [20]
2: [10] L’insertion de cette ligne n’a pas engendré de
3: [10,20] problème vu que il n y a pas eu de conflit :
Auth-server: 1.30.3.3 même ligne du code modifié dans le même
fichier
Fichier résultat de la fusion
(merge) des deux versions de
fichiers s1 (master, auth) 58
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
mgmt_ip : 10.0.0.1
▪ Merge conflicts Sdn-controller: 10.20.2.2
vlans:
red:
id: 10
blue:
id: 20
ports
1: [20]
2: [10]
3: [10,20]
Auth-server: 1.30.3.3

mgmt_ip : 10.0.0.1
Sdn-controller: 10.20.2.2
vlans:
green:
id: 10
blue:
id: 20
ports
1: [10]
2: [20]
3: [10,20] 59
Auth-server: 1.30.3.3
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
mgmt_ip : 10.0.0.1
▪ Merge conflicts Sdn-controller: 10.20.2.2
vlans:
red:
id: 10
blue:
id: 20
ports
1: [20]
2: [10]
3: [10,20]
Auth-server: 1.30.3.3

mgmt_ip : 10.0.2.2
Sdn-controller: 10.20.2.2
vlans:
pink:
id: 10
blue:
id: 20
ports
1: [10]
3: [10,20] 60
Auth-server: 1.30.3.3
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Merge conflicts
mgmt_ip : 10.0.0.1
Sdn-controller: 10.20.2.2 mgmt_ip : 10.0.2.2
vlans: Sdn-controller: 10.20.2.2
green: vlans:
id: 10 pink:
blue: Dev branch id: 10
id: 20 blue: master branch
ports id: 20
1: [10] ports
2: [20] 1: [10]
3: [10,20] 3: [10,20]
Auth-server: 1.30.3.3 Auth-server: 1.30.3.3

mgmt_ip : 10.0.0.1
Sdn-controller: 10.20.2.2
vlans:
red:
id: 10
blue:
id: 20 base file
ports
1: [20]
2: [10]
3: [10,20]
Auth-server: 1.30.3.3 61
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Merge conflicts
La fusion n’est pas réalisée
automatiquement, à cause des
conflits constatés par git

Suite à la commande merge, git


marque les lignes sujets des conflits
par des caractères spéciales(<<<<
,>>>>>). La commande status montre
bien que le fichier s1 de master a été
modifié par rapport au fichier dans la
zone stage area.

Git merge - - abort , annule les


modifications apportées au s1 du
master suite à une commande merge
62
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Merge conflicts
Suite à la commande merge, git
marque les lignes sujets des conflits
par des caractères spéciaux(<<<<
,>>>>>). La commande status
montre bien que le fichier s1 de
master a été modifié par rapport au
fichier dans la zone stage area

Le développeur décide des


modifications à garder dans le
fichier fusionné, en éliminant les
lignes dont il n’a pas besoin aussi
bien que les caractères spéciaux
ajoutés par git,

63
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Merge conflicts

64
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Detached head stat

A detached head stat, est la


situation dans laquel un pointeur
HEAD est pointé directement sur
un commit au lieu d’une branche

65
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Detached head stat

66
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Detached head stat

67
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Stash
▪ stash permet de sauvegarder momentanément les changements qui n’ont pas
été sauvegardés
▪ deux branche (B1,B2)
▪ nous avons modifié s1 sur B1, et avant de valider les modification par
un commit, il nous a été demandé de corriger un bug en urgence sur
B2, en tapant git checkout B2
▪ git vous interdit de vous positionnez sur B2, en revanche il vous
propose deux solutions,
▪ soit que vous enregistrez vos modifications dans un commit
▪ soit que vous ranger(Stash) vos modification, et le répondre une
68
autre fois lorsque vous aurez besoin,
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Stash

Lignes ajoutées

69
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Stash

70
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ Stash

Reprise de l’état initial du fichier s1

Deux modifications enregistrées

71
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ stash

72
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ stash
Git stash apply :
applique les
dernières
modifications
rangées

73
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ stash

74
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ BRANCHING AND MERGING
▪ stash

/examples/apply git stash name (master) $ git stash save say-my-name

75
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Define git remote
Lorsque nous travaillons sur un dépôt (repository) , « a remote », est simplement un
dépôt dans un autre emplacement différent de celui sur lequel on est en train de
travailler

76
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Define git remote
Lorsque nous travaillons sur un dépôt (repository) , « a remote », est simplement un
dépôt dans un autre emplacement différent de celui sur lequel on est en train de
travailler

77
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Define git remote
Lorsque nous travaillons sur un dépôt (repository) , « a remote », est simplement un
dépôt dans un autre emplacement différent de celui sur lequel on est en train de
travailler

78
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Define git remote
Lorsque nous travaillons sur un dépôt(repository) , « a remote », est simplement un
dépôt dans un autre emplacement différent de celui sur lequel on est en train de
travailler

79
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Define git remote
Lorsque nous travaillons sur un dépôt
(repository) , « a remote », est
simplement un dépôt dans un autre
emplacement différent de celui sur lequel
on est en train de travailler

80
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Define git remote
Lorsque nous travaillons sur un dépôt
(repository) , « a remote », est
simplement un dépôt dans un autre
emplacement différent de celui sur lequel
on est en train de travailler

81
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

82
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

83
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

fetch

push

84
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

85
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

86
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

87
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

88
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

89
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git remotes

Git remote : affiche les dépôts distants auquels vous avez accès
Git remote –v : affiche les dépôts distants accessible par git dans les deux
sens, y compris leurs chemins absolus.

90
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge
1. Réaliser un nouveau
commit in github

1. Télécharger et intégrer
ces modifications dans
notre projet local
➔git fetch and git merge
commands

91
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge
git fetch : récupère toutes les données des commits effectués sur la branche
courante qui n'existent pas encore dans la version en local. Ces données seront
stockées dans le répertoire de travail local mais ne seront pas fusionnées avec la
branche locale..

92
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge

93
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge

94
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Github

95
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge

96
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge

97
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ git fetch/git merge

git pull : regroupe les commandes git fetch suivie


de git merge.

98
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git push
Modifiiant le fichier s1 en local

mgmt_ip : 10.0.0.11
vlans:
red:
id: 10
blue:
id: 20
ports
1: [10]
2: [20]
3: [10.20]

mgmt_ip : 10.0.1.111
vlans:
red:
id: 10
blue:
id: 20
ports
1: [10]
2: [20] 99
3: [10.20]
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git push
git push 'remote_name' 'branch_name’ : elle transfert les commits, effectués sur
une branche locale à un dépôt distant.

Nécessite une procédure


d’authentification au niveau du
github 100
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git push
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git hub fork

102
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git hub fork

103
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git hub fork

104
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git hub fork

105
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Git hub fork

UpStream

Origine
106
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Stay in sync with Upstream

Ajoutant un commit a
betty master branch

107
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Stay in sync with Upstream

108
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Stay in sync with Upstream

109
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Stay in sync with Upstream

110
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

111
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

112
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

Push

113
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

114
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

115
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

116
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

117
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

118
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY
▪ Bob wants to contribute in betty repo

119
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY

120
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB
▪ REMOTE REPOSITORY

121
▪ LE CONTRÔLE DES VERSIONS : GIT &
GITHUB

122

Vous aimerez peut-être aussi