Skip to content
Snippets Groups Projects
Forked from Vincent MAZENOD / 2017-F2-Forge
Source project has a limited visibility.

Cours Forge ZZ2 F2 2017

Infos étudiant :

Par binôme Nom Prénom:

  • Beuvot Richard
  • Maleterre Clement

TP 1

Télécharger le sujet du TP à l'adresse suivante : https://gitlab.isima.fr/mazenovi/2017-F2-Forge

1. Les basiques

  1. Créer un repository git
git init TP1-Git
Commentaire

Creation du repos TP1-Git

  1. 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)
  2. Ajouter le compte rendu dans le repo *
git add Compte-Rendu.md
git commit -m "Q1.3 Ajout du compte rendu"
Commentaire

Ajout du compte rendu et commit

  1. Afficher la status de votre copie de travail
git status
Commentaire

Affiche s'il y a des modifications à commit (ici non)

Résultat
On branch master
nothing to commit, working tree clean
  1. 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 Compte-Rendu.md
git commit -m "Q1.5 Modification du compte rendu"
Commentaire

Prise en compte de la modification et commit

  1. Afficher l'historique de votre repo
git log
Commentaire

Affiche les deux commits précédents avec Date, Auteur et message du commit

Résultat
commit fdc4b645a6914215dceb6d53635f33fa9220f356 (HEAD -> master)
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:28:54 2018 +0100
   Q1.5 Modification du compte rendu

commit 45ed30618fb51b855e4a1f2fd1f2d0fef4a562f2
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:24:09 2018 +0100

  Q1.3 Ajout du compte rendu
  1. 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 add Beuvot-Maleterre-Compte-Rendu.md
git add Compte-Rendu.md
git commit -m "Q1.7 Modification du CR et de son nom" --amend
Commentaire

Ajout du nouveau fichier et de la suppression de l'ancien Changement du commit précédent

  1. Afficher l'historique de votre repo
git log
Commentaire

Affiche les deux commits précédents avec Date, Auteur et message du commit.

Résultat
commit 1b97861b09c1ccad3b594fa8270971676f1baab0 (HEAD -> master)
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:28:54 2018 +0100

  Q1.7 Modification du CR et de son nom

commit 45ed30618fb51b855e4a1f2fd1f2d0fef4a562f2
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:24:09 2018 +0100

  Q1.3 Ajout du compte rendu
  1. Il ne devrait y avoir que deux entrées dans l'historique pourquoi ? *

Le commit Q1.5 à été modifié par le commit Q1.7.

  1. Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle *
echo `date` > start
git add start
git commit -m "Q1.10 Ajout du fichier start avec date actuelle"
Commentaire

On utilise la commande bash pour créer le fichier start puis on commit.

  1. Créer un nouveau fichier : file2ignore
touch file2ignore
Commentaire

Création du fichier file2ignore.

  1. Afficher la status de votre copie de travail
git status
Commentaire

Indique que les modifications de CR et que l'ajout du fichier file2ingore ne sont actuellement pas prise en compte en cas de commit. (Il faut faire un git add)

Résultat
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:   Beuvot-Maleterre-Compte-Rendu.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")
  1. 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 add .gitignore
git commit -m "Q1.13 Ajout du gitignore pour ignore file2ignore"
Commentaire

Ajout du .gitignore afin d'ignorer file2ignore

  1. Lister le contenu du repertoire courant, afficher le status et la log
ls
git status
git log
Commentaire

Résultat des commandes. Le fichier de Compte-Rendu apparait à cause des sauvegarde régulière non commit.

Résultat
$ ls -a
./  ../  .git/  .gitignore  Beuvot-Maleterre-Compte-Rendu.md  file2ignore  start

$ 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:   Beuvot-Maleterre-Compte-Rendu.md

no changes added to commit (use "git add" and/or "git commit -a")

$ git log
commit c70035e94cd361e19794ef1ed89fb312dfe3ffe6 (HEAD -> master)
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:54:25 2018 +0100

    Q1.13 Ajout du gitignore pour ignore file2ignore

commit d7bd190b11d47444b4b023c3d55beac25e811505
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:44:37 2018 +0100

    Q1.10 Ajout du fichier start avec date actuelle

commit 1b97861b09c1ccad3b594fa8270971676f1baab0
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:28:54 2018 +0100

    Q1.7 Modification du CR et de son nom

commit 45ed30618fb51b855e4a1f2fd1f2d0fef4a562f2
Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
Date:   Mon Jan 8 18:24:09 2018 +0100

    Q1.3 Ajout du compte rendu
  1. Avant de commiter affichez les modifications par rapport à la précédente révision ? *
git diff
git add Beuvot-Maleterre-Compte-Rendu.md
git commit -m "Q1.15 Modification du CR"
Commentaire

Affiche les différences entre la version actuelle et le dernier commit

Résultat
diff --git a/Beuvot-Maleterre-Compte-Rendu.md b/Beuvot-Maleterre-Compte-Rendu.md
index d899d0b..b523557 100644
--- a/Beuvot-Maleterre-Compte-Rendu.md
+++ b/Beuvot-Maleterre-Compte-Rendu.md
@@ -29,6 +29,9 @@ https://gitlab.isima.fr/mazenovi/2017-F2-Forge

+>     $ git log
+>     commit c70035e94cd361e19794ef1ed89fb312dfe3ffe6 (HEAD -> master)
+>     Author: BEUVOT Richard <richard.beuvot@poste.isima.fr>
+>     Date:   Mon Jan 8 18:54:25 2018 +0100
+>
+>         Q1.13 Ajout du gitignore pour ignore file2ignore
2. Les branches
  1. 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 BeuvotMaleterre git checkout BeuvotMaleterre


  1. Lister les branches locales et les fichiers présent dans le répertoire courant *

git branch ls -a git commit -m "Q2.2 Ajout d'une branche"


* BeuvotMaleterre master

./ ../ .git/ .gitignore Beuvot-Maleterre-Compte-Rendu.md file2ignore start


  1. Aficher le status de votre repo *
  2. Créez une branche pour développer la réponse de ce point (nommez là mybranch-2.4 par exemple)
  3. Afficher un historique sous forme de graph (a dog) de votre repo
  4. Pourquoi les 2 branches pointent elles sur la même révision ?*
  5. Afficher à nouvea l'historique pour montrer les modifications suite au précédent commit *
  6. Revenir la brache mybranch
  7. Où sont passé vos reponces au point 2.4 ? *
  8. Affichez un historique sous forme de graph (a dog) de votre repo, Que peux ton en dire ?
  9. Revenir sur la branche master
  10. Ajoutez et commitez un fichier (touch new_file)
  11. Revenir sur votre branche mybranch pour completer le compte rendu *
  12. Affichez un historique sous forme de graph (a dog) de votre repo *
3. Merge
  1. Merge depuis head
  2. switcher sur une nouvelle branche mybranch-3.1
  3. ajout un nouveau fichier nommé easy_merge avec la date et l'heure actuelle *
  4. merger la branche mybranch-4.1 sur mybranch
  5. Afficher le status
  6. Pourquoi n'y a t'il aucune modification en cours ? *
  7. Affichez un historique sous forme de graph (a dog) de votre repo et décire l'état courant*
  8. Merge avec modifications
  9. Mergez les modifications de la branche mybranch-2.4 sur mybranch (*echap* :wq *enter* pour sauvegarder le message de commit et quitter)*
  10. Affichez un historique sous forme de graph (a dog) de votre repo *
  11. Merge avec conflit
  12. Céer une nouvelle branche mybranch-3.6
  13. Notez dans le CR la date et l'heure actuelle (avec la commande date par exemple) *
  14. Switchez sur la nouvelle branche et modifiez la réponse précendante dans le CR avec le *
  15. Réalisez le merge de la brache mybranch-3.6 sur mybranch. Le prompt change, pourquoi ? Gerer le conflit et commiter.
  16. 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
  1. Afficher l'historique de votre repo
  2. Ajouter le projet "2017-F2-Forge" comme repository distant *
  3. Lister les branches distantes
  4. Pousser votre branche de votre repo local sur le repos distant *
  5. 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 ?
  6. Supprimer le dossier .git
  7. Faire un git status ?