-
NIDABRAHIM Youssef authoredNIDABRAHIM Youssef authored
Cours Forge ZZ2 F2 2017
Infos étudiant :
Par binôme Nom Prénom:
- Mohamed Reda BENCHRAA
- Youssef NIDABRAHIM
TP 1
Télécharger le sujet du TP à l'adresse suivante : https://gitlab.isima.fr/mazenovi/2017-F2-Forge
1. Les basiques
- Créer un repository git
$ git init
Initialized empty Git repository in C:/TP1/.git/
-
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) -
Ajouter le compte rendu dans le repo
*
$ git add .
On commite cette étape Q1.3
$ git commit -m "Q1.3"
[master (root-commit) b0b4b05] Q1.3
1 file changed, 258 insertions(+)
create mode 100644 cr.md
- Afficher la status de votre copie de travail
$ git status
On branch master
nothing to commit, working tree clean
- 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 .
On commite cette étape Q1.5
$ git commit -m "Q1.5"
[master 6866275] Q1.5
1 file changed, 7 insertions(+), 3 deletions(-)
- Afficher l'historique de votre repo
$ git log
commit 80f71a0487d0b236a26bfd9e540582b68cad7943
Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
Date: Mon Feb 12 21:15:48 2018 +0100
Q1.5
commit 3ec344ecfd24df41ca97396f27b52ec570297ce3
Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
Date: Mon Feb 12 21:02:43 2018 +0100
Q1.3
- 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 cr.md REDA_YOUSSEF.md
$ git add *
On commite cette étape Q1.7 en amendant le commit précédent
$ git commit -m "Q1.7" --amend
[master abfd2d9] Q1.7
Date: Mon Feb 12 21:15:48 2018 +0100
1 file changed, 27 insertions(+), 8 deletions(-)
rename cr.md => REDA_YOUSSEF.md (91%)
- Afficher l'historique de votre repo
$ git log
commit abfd2d91c6fff3d02fd132e77c012cc695b2ec84
Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
Date: Mon Feb 12 21:15:48 2018 +0100
Q1.7
commit 3ec344ecfd24df41ca97396f27b52ec570297ce3
Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
Date: Mon Feb 12 21:02:43 2018 +0100
Q1.3
NOTE: On remarque bien que le commit Q1.5 est remplacer par celui de Q1.7
-
Il ne devrait y avoir que deux entrées dans l'historique pourquoi ?
*
On doit y avoir exactement deux entrées dans l'historique
Q1.3
etQ1.7
et cela parcequ'on avait remplacer le commitQ1.5
parQ1.7
en ajoutant--amend
à la fin de la commandecommit
$ git add * $ git commit -m "Q1.9" [master a38f03f0] Q1.9 1 file changed, 24 insertions(+), 3 deletions(-)
0. Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle `*`
$ touch start $ date > start $ git add . warning: LF will be replaced by CRLF in start. The file will have its original line endings in your working directory.
> On commite cette étape Q1.10
$ git commit -m "Q1.10" [master 51a5addb] Q1.10 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 start
0. Créer un nouveau fichier : file2ignore
$ touch file2ignore
0. Afficher la status de votre copie de travail
$ git status On branch master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: REDA_YOUSSEF.md Untracked files: (use "git add ..." 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 `*`
$ touch .gitignore $ echo file2ignore > .gitignore $ git add * The following paths are ignored by one of your .gitignore files: file2ignore Use -f if you really want to add them.
> On commite cette étape Q1.13
$ git commit -m "Q1.13" [master 715a4ee8] Q1.13 1 file changed, 26 insertions(+), 6 deletions(-)
0. Lister le contenu du repertoire courant, afficher le status et la log
$ git ls-files REDA_YOUSSEF.md start
$ git status On branch master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: REDA_YOUSSEF.md Untracked files: (use "git add ..." to include in what will be committed) .gitignore no changes added to commit (use "git add" and/or "git commit -a")
$ git log commit 715a4ee8 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 22:05:17 2018 +0100 Q1.13 commit 51a5addb Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:53:17 2018 +0100 Q1.10 commit a38f03f0 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:40:41 2018 +0100 Q1.9 commit abfd2d91 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:15:48 2018 +0100 Q1.7 :...skipping... commit 715a4ee8 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 22:05:17 2018 +0100 Q1.13 commit 51a5addb Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:53:17 2018 +0100 Q1.10 commit a38f03f0 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:40:41 2018 +0100 Q1.9 commit abfd2d91 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:15:48 2018 +0100 Q1.7 commit 3ec344ec Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:02:43 2018 +0100 Q1.3
0. Avant de commiter affichez les modifications par rapport à la précédente révision ? `*`
$ git diff diff --git a/REDA_YOUSSEF.md b/REDA_YOUSSEF.md index 26d82fc..50663bf 100644 --- a/REDA_YOUSSEF.md +++ b/REDA_YOUSSEF.md @@ -147,14 +147,70 @@ Use -f if you really want to add them.
> On commite cette étape Q1.15
$ git commit -m "Q1.15" $ git commit -m "Q1.15" [master 715a4ee8] Q1.15 1 file changed, 26 insertions(+), 6 deletions(-)
0. Lister le contenu du repertoire courant, afficher le status et la log
$ git ls-files REDA_YOUSSEF.md start
$ git log :...skipping... diff --git a/REDA_YOUSSEF.md b/REDA_YOUSSEF.md index 26d82fc..50663bf 100644 --- a/REDA_YOUSSEF.md +++ b/REDA_YOUSSEF.md @@ -147,14 +147,70 @@ Use -f if you really want to add them.
> On commite cette étape Q1.16
git commit -m "Q1.16" $ git commit -m "Q1.16" [master 715a4ee8] Q1.16 1 file changed, 26 insertions(+), 6 deletions(-)
0. Lister le contenu du repertoire courant, afficher le status et la log
$ git ls-files REDA_YOUSSEF.md start
$ git status On branch master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: REDA_YOUSSEF.md Untracked files: (use "git add ..." to include in what will be committed) .gitignore no changes added to commit (use "git add" and/or "git commit -a")
$ git log commit 715a4ee8 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 22:05:17 2018 +0100 Q1.13 commit 51a5addb Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:53:17 2018 +0100 Q1.10 commit a38f03f0 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:40:41 2018 +0100 Q1.9 commit abfd2d91 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:15:48 2018 +0100 Q1.7 :...skipping... commit 715a4ee8 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 22:05:17 2018 +0100 Q1.13 commit 51a5addb Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:53:17 2018 +0100 Q1.10 commit a38f03f0 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:40:41 2018 +0100 Q1.9 commit abfd2d91 Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:15:48 2018 +0100 Q1.7 commit 3ec344ec Author: NIDABRAHIM Youssef youssef.nidabrahim@um5s.net.ma Date: Mon Feb 12 21:02:43 2018 +0100 Q1.3
0. Avant de commiter affichez les modifications par rapport à la précédente révision ? `*`
git diff
$ git add * The following paths are ignored by one of your .gitignore files: file2ignore Use -f if you really want to add them.
> On commite cette étape Q1.18
$ git commit -m "Q1.18" [master 717b390a] Q1.18 1 file changed, 168 insertions(+), 5 deletions(-)
##### 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 reda_youssef $ git checkout reda_youssef Switched to branch 'reda_youssef' M REDA_YOUSSEF.md
0. Lister les branches locales et les fichiers présent dans le répertoire courant `*`
$ git branch master *reda_youssef
$ git ls-files REDA_YOUSSEF.md start
$ git add . warning: LF will be replaced by CRLF in .gitignore. The file will have its original line endings in your working directory.
> On commite cette étape Q2.2
$ git commit -m "Q2.2" [reda_youssef 03c30178] Q2.2 2 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 .gitignore
0. Afficher le status de votre repo `*`
$ git status On branch reda_youssef Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: REDA_YOUSSEF.md no changes added to commit (use "git add" and/or "git commit -a")
> On commite cette étape Q2.3
$ git commit -m "Q2.3" [reda_youssef 71592a8d] Q2.3 1 file changed, 21 insertions(+), 3 deletions(-)
0. Créez une branche pour _développer_ la réponse de ce point (nommez là `mybranch-2.4` par exemple)
$ git branch reda_youssef-2.4
0. Afficher un historique sous forme de graph (`a dog`) de votre repo
```
$ git log --all --graph --decorate --oneline
*71592a8 (HEAD -> reda_youssef-2.4, reda_youssef) Q2.3
*03c3017 Q2.2
*717b390 (master) Q1.15
*715a4ee Q1.13
*51a5add Q1.10
*a38f03f Q1.9
*abfd2d9 Q1.7
*3ec344e Q1.3
```
0. Pourquoi les 2 branches pointent elles sur la même révision ?`*`
> On remarque que les 2 branches `reda_youssef` et `reda_youssef-2.4` pointent sur la même révision puisque il n'y pas de `commit`
```
$ git add .
$ git commit -m "Q2.4.2"
[reda_youssef-2.4 12bae9c] Q2.4.2
1 file changed, 186 insertions(+), 14 deletions(-)
```
0. Afficher à nouveau l'historique pour montrer les modifications suite au précédent commit `*`
```
$ git log --graph --abbrev-commit --decorate
*commit 12bae9c (HEAD -> reda_youssef-2.4)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:00:27 2018 +0100
|
| Q2.4.2
|
*commit 71592a8 (reda_youssef)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:21:41 2018 +0100
|
| Q2.3
|
*commit 03c3017
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:19:47 2018 +0100
|
| Q2.2
|
*commit 717b390 (master)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:14:02 2018 +0100
|
| Q1.15
:...skipping...
*commit 12bae9c (HEAD -> reda_youssef-2.4)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:00:27 2018 +0100
|
| Q2.4.2
|
*commit 71592a8 (reda_youssef)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:21:41 2018 +0100
|
| Q2.3
|
*commit 03c3017
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:19:47 2018 +0100
|
| Q2.2
|
*commit 717b390 (master)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:14:02 2018 +0100
|
| Q1.15
|
*commit 715a4ee
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:05:17 2018 +0100
|
| Q1.13
|
*commit 51a5add
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 21:53:17 2018 +0100
|
| Q1.10
|
*commit a38f03f
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 21:40:41 2018 +0100
|
| Q1.9
|
*commit abfd2d9
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 21:15:48 2018 +0100
|
| Q1.7
|
*commit 3ec344e
Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
Date: Mon Feb 12 21:02:43 2018 +0100
Q1.3
```
> On commite cette étape Q2.4.3
```
$ git add .
$ git commit -m "Q2.4.3"
[reda_youssef-2.4 3dd3708] Q2.4.3
1 file changed, 10 insertions(+), 11 deletions(-)
```
0. Pourquoi les 2 branches pointent elles sur la même révision ?`*`
> Car il n'y a pas de changement
```
$ git add .
$ git commit -m "Q2.4.4"
[reda_youssef-2.4 d72c9c1] Q2.4.4
1 file changed, 3 insertions(+), 3 deletions(-)
```
0. Afficher à nouveau l'historique pour montrer les modifications suite au précédent commit `*`
```
$ git log --graph --abbrev-commit --decorate
*commit d72c9c1 (HEAD -> reda_youssef-2.4)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:04:18 2018 +0100
|
| Q2.4.4
|
*commit 3dd3708
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:03:02 2018 +0100
|
| Q2.4.3
|
*commit 12bae9c
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:00:27 2018 +0100
|
| Q2.4.2
|
*commit 71592a8 (reda_youssef)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:21:41 2018 +0100
|
| Q2.3
:...skipping...
*commit d72c9c1 (HEAD -> reda_youssef-2.4)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:04:18 2018 +0100
|
| Q2.4.4
|
*commit 3dd3708
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:03:02 2018 +0100
|
| Q2.4.3
|
*commit 12bae9c
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 23:00:27 2018 +0100
|
| Q2.4.2
|
*commit 71592a8 (reda_youssef)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:21:41 2018 +0100
|
| Q2.3
|
*commit 03c3017
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:19:47 2018 +0100
|
| Q2.2
|
*commit 717b390 (master)
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:14:02 2018 +0100
|
| Q1.15
|
*commit 715a4ee
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 22:05:17 2018 +0100
|
| Q1.13
|
*commit 51a5add
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 21:53:17 2018 +0100
|
| Q1.10
|
*commit a38f03f
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 21:40:41 2018 +0100
|
| Q1.9
|
*commit abfd2d9
|Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
|Date: Mon Feb 12 21:15:48 2018 +0100
|
| Q1.7
|
*commit 3ec344e
Author: NIDABRAHIM Youssef <youssef.nidabrahim@um5s.net.ma>
Date: Mon Feb 12 21:02:43 2018 +0100
Q1.3
(END)
```
> On commite cette étape Q2.4.5
```
$ git add .
$ git commit -m "Q2.4.5"
[reda_youssef-2.4 f94d5dd] Q2.4.5
1 file changed, 41 insertions(+), 10 deletions(-)
```
0. Revenir la brache `mybranch`
$ git checkout reda_youssef Switched to branch 'reda_youssef'
0. Où sont passé vos reponces au point 2.4 ? `*`
> Les réponces au point 2.4 sont dans l'autre branche `reda_youssef-2.4`
$ git add . $ git commit -m "Q2.6" [reda_youssef 30c07dd] Q2.6 1 file changed, 4 insertions(+), 1 deletion(-)
0. Affichez un historique sous forme de graph (`a dog`) de votre repo, Que peux ton en dire ?
$ git log --all --graph --decorate --oneline *30c07dd (HEAD -> reda_youssef) Q2.6 | *02a31d55 (reda_youssef-2.4) Q2.4.5 | *d72c9c16 Q2.4.4 | *3dd37084 Q2.4.3 | *12bae9cc Q2.4.2 |/ *71592a8d Q2.3 *03c30178 Q2.2 *717b390a (master) Q1.15 *715a4ee8 Q1.13 *51a5addb Q1.10 *a38f03f0 Q1.9 *abfd2d91 Q1.7 *3ec344ec Q1.3
> **NOTE:** D'après le graphe, on remarque bien les commites effectuer dans la branche `reda_youssef-2.4`
0. Revenir sur la branche master
git checkout master
0. Ajoutez et commitez un fichier (touch new_file)
touch new_file git add . git commit -m "Q2.9"
0. Revenir sur votre branche `mybranch` pour completer le compte rendu `*`
$ git checkout reda_youssef Switched to branch 'reda_youssef'
> On commite cette étape Q2.10
$ git add . $ git commit -m "Q2.10" [reda_youssef ca0e5dac] Q2.10 1 file changed, 5 insertions(+), 1 deletion(-)
0. Affichez un historique sous forme de graph (`a dog`) de votre repo `*`
$ git log --all --graph --decorate --oneline *ca0e5dac (HEAD -> reda_youssef) Q2.10 *f50a0e63 Q2.6 | *b2acb20 (master) Q2.9 | | *02a31d55 (reda_youssef-2.4) Q2.4.5 | | *d72c9c16 Q2.4.4 | | *3dd37084 Q2.4.3 | | *12bae9cc Q2.4.2 | |/ |/| *|71592a8d Q2.3 *|03c30178 Q2.2 |/ *717b390a Q1.15 *715a4ee8 Q1.13 *51a5addb Q1.10 *a38f03f0 Q1.9 *abfd2d91 Q1.7 *3ec344ec Q1.3
> On commite cette étape Q2.11
$ git add . $ git commit -m "Q2.11" [reda_youssef 6dae183] Q2.11 1 file changed, 27 insertions(+), 1 deletion(-)
##### 3. Merge
0. Merge depuis head
0. switcher sur une nouvelle branche `mybranch-3.1`
```
$ git checkout -b reda_youssef-3.1
Switched to a new branch 'reda_youssef-3.1'
```
0. ajout un nouveau fichier nommé easy_merge avec la date et l'heure actuelle `*`
```
$ touch easy_merge
$ date > easy_merge
```
> On commite cette étape Q3.1.2
```
$ git add .
$ git commit -m "Q3.1.2"
[reda_youssef-3.1 3288cda] Q3.1.2
2 files changed, 9 insertions(+), 3 deletions(-)
create mode 100644 easy_merge
```
0. merger la branche `mybranch-3.1` sur `mybranch`
```
$ git checkout reda_youssef
Switched to branch 'reda_youssef'
```
```
$ git merge reda_youssef-3.1
Updating f258f21..4a165c0
Fast-forward
REDA_YOUSSEF.md | 21 +++++++++++++++------
easy_merge | 1 +
2 files changed, 16 insertions(+), 6 deletions(-)
```
0. Afficher le status
$ git status On branch reda_youssef Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: REDA_YOUSSEF.md no changes added to commit (use "git add" and/or "git commit -a")
0. Pourquoi n'y a t'il aucune modification en cours ? `*`
> Normalement, on n'aura pas de modification à commiter après un merge puisqu'ils sont déjà commiter dans la branche `reda_youssef-3.1`
$ git add . $ git commit -m "Q3.3" [reda_youssef b73a3022] Q3.3 1 file changed, 21 insertions(+), 5 deletions(-)
0. Affichez un historique sous forme de graph (`a dog`) de votre repo et décire l'état courant`*`
$ git log --all --graph --decorate --oneline *b73a3022 (HEAD -> reda_youssef) Q3.3 *4a165c0b (reda_youssef-3.1) Q3.1.2 *f258f210 Q2.11 *ca0e5dac Q2.10 *f50a0e63 Q2.6 | *b2acb20 (master) Q2.9 | | *02a31d55 (reda_youssef-2.4) Q2.4.5 | | *d72c9c16 Q2.4.4 | | *3dd37084 Q2.4.3 | | *12bae9cc Q2.4.2 | |/ |/| *|71592a8d Q2.3 *|03c30178 Q2.2 |/ *717b390a Q1.15 *715a4ee8 Q1.13 *51a5addb Q1.10 *a38f03f0 Q1.9 *abfd2d91 Q1.7 *3ec344ec Q1.3