Skip to content
Snippets Groups Projects
MosnierDrosneTp1.md 17.2 KiB
Newer Older
BMosnier's avatar
BMosnier committed
# 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
BMosnier's avatar
BMosnier committed

BMosnier's avatar
BMosnier committed
        $ 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 `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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é) `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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

BMosnier's avatar
BMosnier 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) `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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

BMosnier's avatar
BMosnier committed
0. Afficher l'historique de votre repo
BMosnier's avatar
BMosnier committed

BMosnier's avatar
BMosnier committed
        $ git log
        commit e28861ae16cb281c82cbdf34fe04f7f6ebde6a4f (HEAD -> master)
        Author: BMosnier <bastienmosnier@gmail.com>
        Date:   Mon Jan 29 18:34:17 2018 +0100
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
            Q1.6

        commit 3727ec6379ed8f628a1206072f66bb92cdcf8290
        Author: BMosnier <bastienmosnier@gmail.com>
        Date:   Mon Jan 29 18:19:44 2018 +0100

            Q1.2

BMosnier's avatar
BMosnier committed
0. Il ne devrait y avoir que deux entrées dans l'historique pourquoi ? `*`
BMosnier's avatar
BMosnier committed
    > Le git --amend ne rajoute pas un commit, il remplace le précédent  

BMosnier's avatar
BMosnier committed
0. Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ date > start

BMosnier's avatar
BMosnier committed
0. Créer un nouveau fichier : file2ignore
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ touch file2ignore

BMosnier's avatar
BMosnier committed
0. Afficher la status de votre copie de travail
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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")

BMosnier's avatar
BMosnier 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 `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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


BMosnier's avatar
BMosnier committed
0. Lister le contenu du repertoire courant, afficher le status et la log
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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


BMosnier's avatar
BMosnier committed
0. Avant de commiter affichez les modifications par rapport à la précédente révision ? `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ 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

BMosnier's avatar
BMosnier committed

##### 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`)
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git branch MosnierDrosne

        $ git checkout MosnierDrosne
        Switched to branch 'MosnierDrosne'

BMosnier's avatar
BMosnier committed
0. Lister les branches locales et les fichiers présent dans le répertoire courant `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git show-branch --all
        * [MosnierDrosne] Q1.14
        ! [master] Q1.14
        --
        *+ [MosnierDrosne] Q1.14

BMosnier's avatar
BMosnier committed
0. Aficher le status de votre repo `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git status
        On branch MosnierDrosne
        nothing to commit, working tree clean

BMosnier's avatar
BMosnier committed
0. Créez une branche pour _développer_ la réponse de ce point (nommez là `mybranch-2.4` par exemple)
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
                
        $ 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
BMosnier's avatar
BMosnier committed
        
BMosnier's avatar
BMosnier committed
            $ 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 `*`
BMosnier's avatar
BMosnier committed
        
BMosnier's avatar
BMosnier committed
            $ 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
BMosnier's avatar
BMosnier committed
0. Revenir la brache `mybranch`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git checkout MosnierDrosne
        Switched to branch 'MosnierDrosne'

BMosnier's avatar
BMosnier committed
0. Où sont passé vos reponces au point 2.4 ? `*`
BMosnier's avatar
BMosnier committed
    > Elles étaient sauvegardées sur la branche MosnierDrosne-2.4, elles ne sont donc pas disponibles sur cette branche
BMosnier's avatar
BMosnier committed

BMosnier's avatar
BMosnier committed
0. Affichez un historique sous forme de graph (`a dog`) de votre repo, Que peux ton en dire ?
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git log --graph --topo-order --all --pretty=format:'%s %d'
        * Q2.5  (HEAD -> MosnierDrosne)
        | * Q2.3.2  (MosnierDrosne-2.4)
        | * Q2.3.1
        |/
        * Q2.2
        * Q2.1
        * Q1.14  (master)
        * Q1.12
        * Q1.9
        * Q1.8
        * Q1.6
        * Q1.2

    > Ca fait longtemps qu'on a pas committé sur la branche master
    
BMosnier's avatar
BMosnier committed
0. Revenir sur la branche master
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git checkout master
        Switched to branch 'master'
BMosnier's avatar
BMosnier committed
0. Ajoutez et commitez un fichier (touch new_file)
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ touch new_file
        $ git add new_file
BMosnier's avatar
BMosnier committed
        $ git commit -m "Q2.8"
        [master 6e21998] Q2.8
BMosnier's avatar
BMosnier committed
        1 file changed, 0 insertions(+), 0 deletions(-)
        create mode 100644 new_file

BMosnier's avatar
BMosnier committed
0. Revenir sur votre branche `mybranch` pour completer le compte rendu `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git checkout MosnierDrosne
        Switched to branch 'MosnierDrosne'
BMosnier's avatar
BMosnier committed

BMosnier's avatar
BMosnier committed
0. Affichez un historique sous forme de graph (`a dog`) de votre repo `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
          $ git log --graph --topo-order --all --pretty=format:'%s %d'
          * Q2.9  (HEAD -> MosnierDrosne)
          * Q2.7
          * Q2.5
          | * Q2.8  (master)
          | | * Q2.3.2  (MosnierDrosne-2.4)
          | | * Q2.3.1
          | |/
          |/|
          * | Q2.2
          * | Q2.1
          |/
          * Q1.14
          * Q1.12
          * Q1.9
          * Q1.8
          * Q1.6
          * Q1.2

BMosnier's avatar
BMosnier committed

##### 3. Merge
0. Merge depuis head
BMosnier's avatar
BMosnier committed

    0. switcher sur une nouvelle branche `mybranch-3.1`
BMosnier's avatar
BMosnier committed
                
                $ git checkout -b MosnierDrosne-3.1
                Switched to a new branch 'MosnierDrosne-3.1'

BMosnier's avatar
BMosnier committed
    0. ajout un nouveau fichier nommé easy_merge avec la date et l'heure actuelle `*`
BMosnier's avatar
BMosnier committed

                $ date > easy_merge
                $ git add easy_merge

BMosnier's avatar
BMosnier committed
    0. merger la branche `mybranch-4.1` sur `mybranch`
                $ git checkout MosnierDrosne
                Switched to branch 'MosnierDrosne'

                $ git merge MosnierDrosne-3.1
                Updating 7d765e9..4a43def
                Fast-forward
                MosnierDrosneTp1.md | 8 ++++++++
                easy_merge          | 1 +
                2 files changed, 9 insertions(+)
                create mode 100644 easy_merge

BMosnier's avatar
BMosnier committed
0. Afficher le status
BMosnier's avatar
BMosnier committed

        $ git status
        On branch MosnierDrosne
        nothing to commit, working tree clean

BMosnier's avatar
BMosnier committed
0. Pourquoi n'y a t'il aucune modification en cours ? `*`
BMosnier's avatar
BMosnier committed
   > Parce qu'on a rien changé dur MosnierDrosne et que les changements sur MosnierDrosne-3.1 avaient été commités ?

BMosnier's avatar
BMosnier committed
0. Affichez un historique sous forme de graph (`a dog`) de votre repo et décire l'état courant`*`
BMosnier's avatar
BMosnier committed

        $ git log --graph --topo-order --all --pretty=format:'%s %d'
        * Q3.3  (HEAD -> MosnierDrosne)
        * Q3.1.2  (MosnierDrosne-3.1)
        * Corrections2  (origin/MosnierDrosne)
        * Corrections
        * Q2.10
        * Q2.9
        * Q2.7
        * Q2.5
        | * Q2.11  (master)
        | | * Q2.3.2  (MosnierDrosne-2.4)
        | | * Q2.3.1
        | |/
        |/|
        * | Q2.2
        * | Q2.1
        |/
        * Q1.14
        * Q1.12
        * Q1.9
        * Q1.8
        * Q1.6
        * Q1.2

BMosnier's avatar
BMosnier committed
0. Merge avec modifications
BMosnier's avatar
BMosnier committed

    0. Mergez les modifications de la branche `mybranch-2.4` sur `mybranch` (`*echap* :wq *enter*` pour sauvegarder le message de commit et quitter)`*`

                $ git merge MosnierDrosne-2.4
                Auto-merging MosnierDrosneTp1.md
                CONFLICT (content): Merge conflict in MosnierDrosneTp1.md
                Automatic merge failed; fix conflicts and then commit the result.

                b
                $ git commit -m "Merge conflicts fixed"
                error: Committing is not possible because you have unmerged files.
                hint: Fix them up in the work tree, and then use 'git add/rm <file>'
                hint: as appropriate to mark resolution and make a commit.
                fatal: Exiting because of an unresolved conflict.
                U       MosnierDrosneTp1.md

                $ git add MosnierDrosneTp1.md

                $ git commit -m "Merge conflicts fixed"
                [MosnierDrosne 1f689b4] Merge conflicts fixed

    0. Affichez un historique sous forme de graph (`a dog`) de votre repo `*`

                $ git log --graph --topo-order --all --pretty=format:'%s %d'
                *   Merge conflicts fixed  (HEAD -> MosnierDrosne)
                |\
                | * Q2.3.2  (MosnierDrosne-2.4)
                | * Q2.3.1
                * | Q3.3
                * | Q3.1.2  (MosnierDrosne-3.1)
                * | Corrections2  (origin/MosnierDrosne)
                * | Corrections
                * | Q2.10
                * | Q2.9
                * | Q2.7
                * | Q2.5
                |/
                * Q2.2
                * Q2.1
                | * Q2.11  (master)
                |/
                * Q1.14
                * Q1.12
                * Q1.9
                * Q1.8
                * Q1.6
                * Q1.2

BMosnier's avatar
BMosnier committed
0. Merge avec conflit
BMosnier's avatar
BMosnier committed

    0. Céer une nouvelle branche `mybranch-3.6`

                $ git branch MosnierDrosne-3.6

    0. Notez dans le CR la date et l'heure actuelle (avec la commande `date` par exemple) `*`

                $ date
                mer. 31 janv. 2018 10:26:11

    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.
BMosnier's avatar
BMosnier committed
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 `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git remote add origin https://gitlab.isima.fr/mazenovi/2017-F2-Forge.git

BMosnier's avatar
BMosnier committed
0. Lister les branches distantes
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git fetch
        warning: no common commits
        remote: Counting objects: 533, done.
        remote: Compressing objects: 100% (62/62), done.
        remote: Total 533 (delta 33), reused 0 (delta 0)
        Receiving objects: 100% (533/533), 13.12 MiB | 1.79 MiB/s, done.
        Resolving deltas: 100% (214/214), done.
        From https://gitlab.isima.fr/mazenovi/2017-F2-Forge
        * [new branch]      BertoniWalczyszyn  -> origin/BertoniWalczyszyn
        * [new branch]      BeuvotMaleterre    -> origin/BeuvotMaleterre
        * [new branch]      Bouhanni           -> origin/Bouhanni
        * [new branch]      CogoniHenry        -> origin/CogoniHenry
        * [new branch]      Delefosse          -> origin/Delefosse
        * [new branch]      Drosne             -> origin/Drosne
        * [new branch]      Falletty_Mistral   -> origin/Falletty_Mistral
        * [new branch]      JeanCharles_Neboit -> origin/JeanCharles_Neboit
        * [new branch]      PiatJullien        -> origin/PiatJullien
        * [new branch]      SERRE_PRUNIER      -> origin/SERRE_PRUNIER
        * [new branch]      Supports           -> origin/Supports
        * [new branch]      TP1-CR             -> origin/TP1-CR
        * [new branch]      che_sig            -> origin/che_sig
        * [new branch]      che_sig-2.4        -> origin/che_sig-2.4
        * [new branch]      develop            -> origin/develop
        * [new branch]      dorian-selimovic   -> origin/dorian-selimovic
        * [new branch]      master             -> origin/master
        * [new branch]      myBranch           -> origin/myBranch
        * [new branch]      reda_youssef       -> origin/reda_youssef
        * [new branch]      tjo-TP1            -> origin/tjo-TP1

BMosnier's avatar
BMosnier committed
0. Pousser votre branche de votre repo local sur le repos distant `*`
BMosnier's avatar
BMosnier committed
    
BMosnier's avatar
BMosnier committed
        $ git push origin MosnierDrosne
        Counting objects: 39, done.
        Delta compression using up to 8 threads.
        Compressing objects: 100% (36/36), done.
        Writing objects: 100% (39/39), 8.30 KiB | 1.66 MiB/s, done.
        Total 39 (delta 12), reused 2 (delta 0)
        remote:
        remote: To create a merge request for MosnierDrosne, visit:
        remote:   https://gitlab.isima.fr/mazenovi/2017-F2-Forge/merge_requests/new?merge_request%5Bsource_branch%5D=MosnierDrosne
        remote:
        To https://gitlab.isima.fr/mazenovi/2017-F2-Forge.git
        * [new branch]      MosnierDrosne -> MosnierDrosne


BMosnier's avatar
BMosnier committed
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 ?