Introduction à Git et gestion des versions
Introduction à Git et gestion des versions
Achille MBOUGUENG
DEVOPS / TRAINER
[Link]
[Link]@[Link]
2
PRÉSENTATION
4
[Link] Local
Même site
En ligne
&
En local
5
[Link] Local
Nouvelle
modification
En local
6
[Link] Local
Correction d’un
bug en local sur
le label
7
Local
Comment tracker(suivre)
8
Content Tracker
Système de gestion de versions distribués
Git est un système de gestion de versions
Local
12
Avantages Local
15
Commit Local
18
Bouton CSS corrigé @vadil 12:23
19
Arrière plan modifié
20
[Link]
21
Répertoire Distant
Répertoire Local
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
22
Répertoire Distant
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
23
Répertoire Distant
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
24
Répertoire Distant
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
<html>
<html>
<body>
<body>
<h1>Mon Siteweb!</h1>
<h1>Mon Siteweb!</h1>
</body>
<p>Voici un texte supplémentaire!</p>
</html>
</body>
</html>
25
Répertoire Distant
<html>
<body>
<h1>Mon Siteweb!</h1>
<p>Voici un texte supplémentaire!</p>
</body>
</html>
<html>
<html>
<body>
<body>
<h1>Mon Siteweb!</h1>
<h1>Mon Siteweb!</h1>
</body>
<p>Voici un texte supplémentaire!</p>
</html>
</body>
</html>
26
Répertoire Local
27
Répertoire Local
[Link]
[Link]
28
Bouton CSS corrigé @vadil commit
29
Syntaxe
Git fonctionne en ligne de commande Local
33
Configuration
git config --global [Link] "Achille"
34
Vérification
cat $HOME/.gitconfig
35
Initialisation du
répertoire Git
Initialized empty Git repository in
/Users/Chilltech/Desktop/myproject/.git/
37
$ ls -a
. .. .git
38
TP
Dans votre répertoire documents créer un répertoire
formation-git
39
Gestion des
modifications
$ touch [Link]
$ echo "This is a beautiful story" >> [Link]
41
$ git status
On branch master
No commits yet
Untracked files:
[Link]
42
TP
formation-git
43
$
[Link]
44
$ git add [Link]
[Link]
45
$ git commit -m "Added first story"
[Link]
46
première modification @Moi
47
TP
formation-git
Enregistrez le
48
Git log
$ git log
50
$ git log —-oneline
51
TP
formation-git
52
TP
formation-git
Créer cinq liens dans le readme ENREGISTRER CHAQUE LIEN
log
Commit
reset
Merge
Rebase
53
Branches
cinquième modification @moi
55
septième modification @ami
modification @moi
modification @moi
56
Branche fusionnée Dave @ami
57
Tests actualisés
58
Tests actualisés
59
$ git checkout -b marlène
$ git branch
master
* marlène
60
A ajouté une première modification master marlène
@moi
61
A ajouté une seconde modification
@marlène
62
A ajouté une seconde modification marlène
@marlène
63
A ajouté une seconde modification marlène
@marlène
64
A ajouté une seconde modification marlène
@marlène
65
marlène
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
66
Fusion
marlène vadil
68
$ git checkout master
marlène vadil
69
$ git checkout master
$ git merge vadil
marlène vadil
70
$ git checkout master
$ git merge vadil
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
71
$ git merge marlène
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
72
$ git merge marlène
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
73
$ git merge marlène
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
74
Rebasage
$ git merge marlene
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
76
$ git rebase marlene
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
77
$ git rebase marlene
marlène
A ajouté une seconde modification master
@marlène
vadil
78
$ git rebase marlene
marlène vadil
master
A ajouté une seconde modification jf79w 7wtf78 A ajouté une troisième modification @vadil
@marlène
79
$ git merge marlene
marlene vadil
master
A ajouté une seconde modification jf79w 7wtf78 A ajouté une troisième modification @vadil
@marlene
80
$ git rebase marlene
marlène vadil
master
A ajouté une seconde modification jf79w 7wtf78 A ajouté une troisième modification @vadil
@marlène
81
$ git rebase marlene
marlène
A ajouté une seconde modification master
@marlène
890sf
vadil
82
Initialisation d'un
répertoire distant
84
Chaîne de connexion
[Link]
85
86
$ git remote add origin [Link]
[Link]
Répertoire Distant
Répertoire Local
87
$ git remote -v
88
Clonage
$ git clone <ssh link>
90
91
$ git clone git@[Link]:….…git
92
$ cd remote-repo
$ git log
93
Pushing
Répertoire Distant
Répertoire Local
<html>
<body>
<h1>Mon Siteweb!</h1>
</body>
</html>
95
$ git push origin master
96
cinquième modification @moi
97
Fetching and Pulling
$ git push origin master
marlène vadil
origin/marlene
seconde modification @marlène A ajouté la troisième modification @vadil
99
$ git push origin/master
origin/master
marlène vadil
origin/marlene
seconde modification @marlène A ajouté la troisième modification @vadil
100
$ git pull origin master
marlène vadil
origin/marlene
seconde modification @marlène A ajouté la troisième modification @vadil
101
Requête Pull
marlène vadil
103
$ git push origin marlene
marlène vadil
origin/marlene
seconde modification @marlène A ajouté la troisième modification @vadil
104
105
106
107
108
109
Ignorer des fichiers
.git/info/exclude
.gitignore
111
112
113
*
!foo
foo/*
!foo/bar
Login.*
114
TP
Créer un .gitignore
115
Supprimer un commit
Lister les commits
117
Lister les commits
118
Supprimer le dernier commit
119
Enregistrer la mis à jour supprimée
120
TP
Créer un commit supprimer
Supprimer le commit
121
Lister les commits
122
Supprimer les commits
123
TP
Créer un commit supprimer
Supprimer le commit
124
STASH
Avantages Local
127
Mettre de côté le travail
git stash
128
Vérifier
Branche clean
Numéro Branche
129
Contenu du stash
130
Contenu du stash
131
TP
Dans une branche, créer un fichier [Link]
133
Nommer un stash
134
Choisir le stash à récupérer
135
Créer une branche à partir d’un stash
136
Supprimer tous les stashs
137
TP
Dans une branche, créer un fichier [Link]
138
Renommer un commit
Consulter les commits
140
Consulter les commits
141
Renommer un commit
142
TP
143
Fusion de commits
SQUASH
Plusieurs commits en un
145
Consulter les commits
146
Consulter les commits
147
Fusionner les commits
148
TP
149
Fusion de commits
FIXUP
Plusieurs commits en un
151
Consulter les commits
152
Consulter les commits
153
Fusionner les commits
fixup
f
154
TP
155
Conflits de fusion
Fusion marlène dans master @marlène
marlène vadil
master
A ajouté une seconde modification A ajouté une troisième modification @vadil
@marlène
157
quatrieme_modification.md quatrieme_modification.md
## Quatrième ## Quatrième
modification modification
Quelques éléments
supplémentaires ajoutés par
Marlène
marlène vadil
master
158
marlène vadil
master
159
master marlène vadil
160
quatrieme_modification.md quatrieme_modification.md
## Quatrième ## Quatrième
modification modification
161
quatrieme_modificatio
[Link]
## Quatrième
modification
<<<<<<<< HEAD
Voici la version de Marlène
=======
Voici la version de Vadil
>>>>>>> max
de la quatrième
modification
Quelques éléments
supplémentaires ajoutés par
Marlène
162
quatrieme_modificatio
[Link]
## Quatrième
modification
de la quatrième
modification !
Quelques éléments
supplémentaires ajoutés par
Marlène
163
$ git add quatrieme_modification.txt
$ git merde
164
$ git add quatrieme_modification.txt
$ git merde
master marlène
vadil
A commencé la quatrième modification
A commencé la quatrième modification
@marlène
@vadil
165
Rebasage interactif
$
@marlène
Plus de modifications à la deuxième modification
@marlene 6a6f6
fb9f1
167
$ git rebase -i HEAD~4
@marlène
Plus de modifications à la deuxième modification
@marlene 6a6f6
fb9f1
168
$
$ git
gitrebase
rebase-i -i HEAD~4
HEAD~4
pick fb9f191 Added second story
169
$
$ git
gitrebase
rebase-i -i HEAD~4
HEAD~4
pick fb9f191 Added second story
170
$
$ git
gitrebase
rebase-i -i HEAD~4
HEAD~4
pick fb9f191 Added second story
pick aaba5e7 Changes to second story
pick 8ad5d7b Oops more changes to second story
pick 6a6f68b More changes to second story
171
$ git rebase -i HEAD~4
@marlène
Plus de modifications à la deuxième modification
@marlene 6a6f6
fb9f1
172
$ git rebase -i HEAD~4
173
Cherry-Picking
$ git log --pretty=oneline --abbrev-commit
marlène
jf79w
175
$ git cherry-pick aaba5
marlène
jf79w
176
$ git cherry-pick aaba5
marlène
jf79w 89hd8
177
$ git cherry-pick aaba5
marlène
jf79w 89hd8
178
$ git hash-object premiere_modification.txt
bea8d7fee8e7b11c2235ca623935e6ccccd8bac3
179
Consulter les commits
180
Récupérer les commits
181
TP
182
TP
Pour les actions ci dessous utiliser un message “merge and
rebase”
183
Réinitialisation et
rétablissement
$
marlene
A ajouté la troisième modification @marlene
8ad5d
185
$ git revert 8ad5d
186
$ git revert 8ad5d
marlene -troisième_modification.md
890hs
187
$
marlene
A ajouté la troisième modification @marlene
8ad5d
188
$ git reset —-soft HEAD~1
marlene
A ajouté la troisième modification @marlene
8ad5d
189
$ git reset —-soft HEAD~1
190
$ git reset —-soft HEAD~1
$ git status
On branch marlene
Changes to be committed:
added: troisième_modification
191
$ git reset —-hard HEAD~1
marlene
A ajouté la troisième modification @marlene
8ad5d
192
$ git reset —-hard HEAD~1
193
$ git reset —-hard HEAD~1
$ git status
On branch marlene
Nothing to commit
194
ALIAS
Quelques raccourcis utiles
196
Création
197
Vérification
198
TP
199
HOOKS
SCRIPTS qui s’exécutent avant git
201
202
203
TP
204