Skip to content
Snippets Groups Projects
Mistral_Falletty_TP1.md.txt 7.51 KiB
Newer Older
flmistral's avatar
flmistral committed
# Cours Forge ZZ2 F2 2017

# Infos étudiant :

Par binôme Nom Prénom:
 * Falletty Elouan
 * Mistral Floriane

## 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
```

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 TP.md.txt
  $ git commit -m"Q1.3
  [master (root-commit) cb1f8fa] Q1.3
  1 file changed, 158 insertions(+)
  create mode 100644 TP1.md.txt
```
0. Afficher la status de votre copie de travail
```
$ 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:   TP1.md.txt
no changes added to commit (use "git add" and/or "git commit -a")
```
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é) `*`
0. Afficher l'historique de votre repo
flmistral's avatar
flmistral committed
```
$ git log
commit 5121b0373105f505f5ae1a75ee140738d7703972 (HEAD -> master)
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:32:07 2018 +0100
    Q1.5
commit cb1f8fa6a6cce12bf0b2fd8450a82189284f0e1e
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:18:35 2018 +0100
    Q1.3
```
flmistral's avatar
flmistral committed
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) `*`
flmistral's avatar
flmistral committed
```
$ git commit -m"Q1.7" --amend
[master 125e9e0] Q1.7
 Date: Mon Jan 8 18:32:07 2018 +0100
 2 files changed, 115 insertions(+), 87 deletions(-)
 create mode 100644 Mistral_Falletty_TP1.md.txt
```
flmistral's avatar
flmistral committed
0. Afficher l'historique de votre repo
flmistral's avatar
flmistral committed
```
$ git log
commit 125e9e008ebf64fd4c4d9db4442851e045be701e (HEAD -> master)
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:32:07 2018 +0100
    Q1.7
commit cb1f8fa6a6cce12bf0b2fd8450a82189284f0e1e
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:18:35 2018 +0100
    Q1.3
```
flmistral's avatar
flmistral committed
0. Il ne devrait y avoir que deux entrées dans l'historique pourquoi ? `*`
flmistral's avatar
flmistral committed
> Il n'y a que deux entrées car en amendant le commit précédent nous l'avons modifié. Il devient le commit que l'on vient de faire.
flmistral's avatar
flmistral committed
0. Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle `*`
flmistral's avatar
flmistral committed
```
$ git add start.txt
$ git commit -m"Q1.10"
[master ec5ce82] Q1.10
 1 file changed, 1 insertion(+)
 create mode 100644 start.txt
```
flmistral's avatar
flmistral committed
0. Créer un nouveau fichier : file2ignore
0. Afficher la status de votre copie de travail
flmistral's avatar
flmistral committed
```
$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted:    TP1.md.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
file2ignore.txt
no changes added to commit (use "git add" and/or "git commit -a")
```
flmistral's avatar
flmistral committed
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 `*`
flmistral's avatar
flmistral committed
```
$ git commit -am"Q1.13" --amend
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory.
[master 7272820] Q1.13
 Date: Mon Jan 8 19:11:11 2018 +0100
 2 files changed, 1 insertion(+), 93 deletions(-)
 create mode 100644 .gitignore
 delete mode 100644 TP1.md.txt
```
flmistral's avatar
flmistral committed
0. Lister le contenu du repertoire courant, afficher le status et la log
flmistral's avatar
flmistral committed
```
$ ls
file2ignore.txt  Mistral_Falletty_TP1.md.txt  start.txt
```
```
$ git status
On branch master
nothing to commit, working tree clean
```
```
commit 7272820d9e64e48db4f682033b9188330ee6a55e (HEAD -> master)
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 19:11:11 2018 +0100
    Q1.13
commit ec5ce8278338e6ac37230d75bf71d7acd652d68c
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:54:36 2018 +0100
    Q1.10
commit 20f8c60a5f142bad3df24f8a4a5319841565fae3
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:52:05 2018 +0100
    Q1.9
commit 125e9e008ebf64fd4c4d9db4442851e045be701e
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:32:07 2018 +0100
    Q1.7
commit cb1f8fa6a6cce12bf0b2fd8450a82189284f0e1e
Author: flmistral <flmistral@poste.isima.fr>
Date:   Mon Jan 8 18:18:35 2018 +0100
    Q1.3
```
flmistral's avatar
flmistral committed
0. Avant de commiter affichez les modifications par rapport à la précédente révision ? `*`

##### 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`)
flmistral's avatar
flmistral committed
```
$ git branch Falletty_Mistral
```
```
$ git checkout Falletty_Mistral
Switched to branch 'Falletty_Mistral'
M       Mistral_Falletty_TP1.md.txt
```
flmistral's avatar
flmistral committed
0. Lister les branches locales et les fichiers présent dans le répertoire courant `*`
flmistral's avatar
flmistral committed
```
git branch
*Falletty_Mistral
master
```
flmistral's avatar
flmistral committed
0. Aficher le status de votre repo `*`
0. Créez une branche pour _développer_ la réponse de ce point (nommez là `mybranch-2.4` par exemple)
  0. Afficher un historique sous forme de graph (`a dog`) de votre repo
  0. Pourquoi les 2 branches pointent elles sur la même révision ?`*`
  0. Afficher à nouvea l'historique pour montrer les modifications suite au précédent commit `*`
0. Revenir la brache `mybranch`
0. Où sont passé vos reponces au point 2.4 ? `*`
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 ?