Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Cours Forge ZZ2 F2 2017
# Infos étudiant :
Par binôme Nom Prénom:
* Mosnier Bastien
* Drosne Denys
## TP 1
Télécharger le sujet du TP à l'adresse suivante :
https://gitlab.isima.fr/mazenovi/2017-F2-Forge
#### 1. Les basiques
0. Créer un repository git
>
$ git init
Initialized empty Git repository in D:/Users/basti/Documents/ISIMA_2017-2018/Conduite de projets web/Repository/.git/
0. _Par la suite pensez à commiter votre compte rendu apres chaques étapes dont l'enoncé est terminé par `*`, pour les messages de commit vous pouvez utiliser les numéros des questions (Ex Q1.2 ici)_
0. Ajouter le compte rendu dans le repo `*`
>
$ git add tp1.md
$ git commit -m "Q1.2"
[master (root-commit) 3727ec6] Q1.2
1 file changed, 163 insertions(+)
create mode 100644 tp1.md
0. Afficher la status de votre copie de travail
>
$ git status
On branch master
nothing to commit, working tree clean
0. Modifiez le CR pour supprimer la première partie et indiquez vos noms (n'oublier pas de faire un `git add` pour marque le fichier comme devant être ajouté) `*`
>
$ git add tp1.md
$ git commit -m "Q1.4"
[master 39c080e] Q1.4
1 file changed, 12 insertions(+), 85 deletions(-)
0. Afficher l'historique de votre repo
>
$ git log
commit 39c080e06cf87be44c9e7a7c30249062fc4c60f7 (HEAD -> master)
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 18:34:17 2018 +0100
Q1.4
commit 3727ec6379ed8f628a1206072f66bb92cdcf8290
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 18:19:44 2018 +0100
Q1.2
0. Renommer ce fichier en préfixant avec vos noms en amendant le commit précédent (`git commit -m "mon message"` pour indiquer le mesage de commit directement) `*`
>
$ git mv tp1.md MosnierDrosneTp1.md
$ git add MosnierDrosneTp1.md
$ git add tp1.md
$ git commit --amend -m "Q1.6"
[master e28861a] Q1.6
Date: Mon Jan 29 18:34:17 2018 +0100
2 files changed, 131 insertions(+), 85 deletions(-)
create mode 100644 MosnierDrosneTp1.md
>
$ git log
commit e28861ae16cb281c82cbdf34fe04f7f6ebde6a4f (HEAD -> master)
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 18:34:17 2018 +0100
Q1.6
commit 3727ec6379ed8f628a1206072f66bb92cdcf8290
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 18:19:44 2018 +0100
Q1.2
0. Il ne devrait y avoir que deux entrées dans l'historique pourquoi ? `*`
0. Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle `*`
>
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: MosnierDrosneTp1.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
file2ignore
no changes added to commit (use "git add" and/or "git commit -a")
0. On souhaite que ce fichier soit ignoré et ne soit jamais commiter. Réalisez la configuration nécesaire pour que cette regle soit effective `*`
>
$ echo "file2ignore" > .gitignore
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: MosnierDrosneTp1.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
no changes added to commit (use "git add" and/or "git commit -a")
$ git add .gitignore
0. Lister le contenu du repertoire courant, afficher le status et la log
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
>
$ ls
file2ignore MosnierDrosneTp1.md start
$ git status
On branch master
nothing to commit, working tree clean
$ git log
commit cd75d9fd9511098812bfae5826954f75b8da2a8e (HEAD -> master)
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 23:04:38 2018 +0100
Q1.12
commit fc45c61948dc576d47a79478f20ca1e1f2b827b4
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 22:57:07 2018 +0100
Q1.9
commit 79f3b423ef7bf64754aab4b547682f332e3a5be6
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 21:27:24 2018 +0100
Q1.8
commit e28861ae16cb281c82cbdf34fe04f7f6ebde6a4f
Author: BMosnier <bastienmosnier@gmail.com>
Date: Mon Jan 29 18:34:17 2018 +0100
Q1.6
0. Avant de commiter affichez les modifications par rapport à la précédente révision ? `*`
>
$ git diff
diff --git a/MosnierDrosneTp1.md b/MosnierDrosneTp1.md
index 2c3d73b..973b903 100644
--- a/MosnierDrosneTp1.md
+++ b/MosnierDrosneTp1.md
@@ -131,6 +131,40 @@ https://gitlab.isima.fr/mazenovi/2017-F2-Forge
0. Lister le contenu du repertoire courant, afficher le status et la log
+ >
+ $ ls
+ file2ignore MosnierDrosneTp1.md start
ETC
##### 2. Les branches
0. Créez une branche portant votre nom et basculer sur cette branche (dans la suite du TP cette branche est désignée par `mybranch`)
>
$ git branch MosnierDrosne
$ git checkout MosnierDrosne
Switched to branch 'MosnierDrosne'
0. Lister les branches locales et les fichiers présent dans le répertoire courant `*`
>
$ git show-branch --all
* [MosnierDrosne] Q1.14
! [master] Q1.14
--
*+ [MosnierDrosne] Q1.14
>
$ git status
On branch MosnierDrosne
nothing to commit, working tree clean
0. Créez une branche pour _développer_ la réponse de ce point (nommez là `mybranch-2.4` par exemple)
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
>
$ git branch MosnierDrosne-2.4
$ git checkout MosnierDrosne-2.4
Switched to branch 'MosnierDrosne-2.4'
0. Afficher un historique sous forme de graph (`a dog`) de votre repo
>
$ git log --graph
* commit 182677dd19fe0d1a19fd1ed61d72b588277ada25 (HEAD -> MosnierDrosne-2.4, MosnierDrosne)
| Author: BMosnier <bastienmosnier@gmail.com>
| Date: Mon Jan 29 23:17:36 2018 +0100
|
| Q2.2
|
* commit d31332b8f445688ba57e111bd2340c7272288c84
| Author: BMosnier <bastienmosnier@gmail.com>
| Date: Mon Jan 29 23:15:53 2018 +0100
|
| Q2.1
|
* commit 73c6c08c78cf243d0d58cea411d8961233ad2900 (master)
| Author: BMosnier <bastienmosnier@gmail.com>
| Date: Mon Jan 29 23:10:58 2018 +0100
|
| Q1.14
|
ETC
0. Pourquoi les 2 branches pointent elles sur la même révision ?`*`
> Elles pointent sur la même révision car la branche 2.4 a été créée à partir de la branche MosnierDrosne et n'a rien rajouté, donc elles en sont au même point
0. Afficher à nouvea l'historique pour montrer les modifications suite au précédent commit `*`
>
$ git log --graph
* commit 4c1d46a15e2fb8d6b464c39d8632a8c66fe4e0fa (HEAD -> MosnierDrosne-2.4)
| Author: BMosnier <bastienmosnier@gmail.com>
| Date: Mon Jan 29 23:25:51 2018 +0100
|
| Q2.3.1
|
* commit 182677dd19fe0d1a19fd1ed61d72b588277ada25 (MosnierDrosne)
| Author: BMosnier <bastienmosnier@gmail.com>
| Date: Mon Jan 29 23:17:36 2018 +0100
|
| Q2.2
ETC
>
$ git checkout MosnierDrosne
Switched to branch 'MosnierDrosne'
> Elles étaient sauvegardées sur la branche MosnierDrosne-2.4, elles ne sont donc pas disponibles sur cette branche
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
0. Affichez un historique sous forme de graph (`a dog`) de votre repo, Que peux ton en dire ?
0. Revenir sur la branche master
0. Ajoutez et commitez un fichier (touch new_file)
0. Revenir sur votre branche `mybranch` pour completer le compte rendu `*`
0. Affichez un historique sous forme de graph (`a dog`) de votre repo `*`
##### 3. Merge
0. Merge depuis head
0. switcher sur une nouvelle branche `mybranch-3.1`
0. ajout un nouveau fichier nommé easy_merge avec la date et l'heure actuelle `*`
0. merger la branche `mybranch-4.1` sur `mybranch`
0. Afficher le status
0. Pourquoi n'y a t'il aucune modification en cours ? `*`
0. Affichez un historique sous forme de graph (`a dog`) de votre repo et décire l'état courant`*`
0. Merge avec modifications
0. Mergez les modifications de la branche `mybranch-2.4` sur `mybranch` (`*echap* :wq *enter*` pour sauvegarder le message de commit et quitter)`*`
0. Affichez un historique sous forme de graph (`a dog`) de votre repo `*`
0. Merge avec conflit
0. Céer une nouvelle branche `mybranch-3.6`
0. Notez dans le CR la date et l'heure actuelle (avec la commande `date` par exemple) `*`
0. Switchez sur la nouvelle branche et modifiez la réponse précendante dans le CR avec le `*`
0. Réalisez le merge de la brache `mybranch-3.6` sur `mybranch`. Le prompt change, pourquoi ? Gerer le conflit et commiter.
0. Supprimer les branches de feature et afficher toutes les branches restantes, affichez un historique sous forme de graph (`a dog`) de votre repo `*`
##### 4. Remote
0. Afficher l'historique de votre repo
0. Ajouter le projet "2017-F2-Forge" comme repository distant `*`
0. Lister les branches distantes
0. Pousser votre branche de votre repo local sur le repos distant `*`
0. En consultant votre branche sous gitlab, vous devriez constaté que la date de modification du fichier start est plus acienne que celle de votre compte rendu, porquoi alors que le push de toute votre branche est faite en une seule fois ?
0. Supprimer le dossier .git
0. Faire un git status ?