Académique Documents
Professionnel Documents
Culture Documents
Mohamed HAMMOUDA
DevOps
A Successful Path To
Continuous Integration
And Continuous Delivery
1 INTRODUCTION AU DEVOPS
2
▪ PLAN DE L’ATELIER
1 INTRODUCTION AU DEVOPS
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
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
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
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
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 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
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
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
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
Ce positionner 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
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
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.
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.
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
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
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
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
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
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.
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