Skip to content
Snippets Groups Projects
Bertoni Walczyszyn tp1 cpw.md 12.8 KiB
Newer Older
bertoni's avatar
bertoni committed
# Cours Forge ZZ2 F2 2017

# Infos étudiant :

Par binôme Nom Prénom:
bertoni's avatar
bertoni committed
 * Walczyszyn Fabien
 * Bertoni Marion
bertoni's avatar
bertoni committed

## 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
bertoni's avatar
bertoni committed
        git init
bertoni's avatar
bertoni committed
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 `*`
bertoni's avatar
bertoni committed
        $ git add tp1\ cpw.md
bertoni's avatar
bertoni committed
0. Afficher la status de votre copie de travail
bertoni's avatar
bertoni committed
        $ git status
bertoni's avatar
bertoni committed
        On branch master
        nothing to commit, working tree clean

bertoni's avatar
bertoni committed
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é) `*`
bertoni's avatar
bertoni committed
        $ git add tp1\ cpw.md
        $ git commit -m "suppression premiere partie"
        [master 8ea1747] suppression premiere partie
         1 file changed, 8 insertions(+), 87 deletions(-)

bertoni's avatar
bertoni committed
0. Afficher l'historique de votre repo
bertoni's avatar
bertoni committed
        $ git log
        commit 8ea17476335ccafecafd53a80715de71d4b13b54 (HEAD -> master)
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:30:28 2018 +0100

            suppression premiere partie

        commit a95c3e051181aa16b2a2e8bd95fb7c2c65a690d3
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:21:02 2018 +0100

            premier ajout

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

        $ git status
        On branch master
        Changes to be committed:
        (use "git reset HEAD <file>..." to unstage)

        renamed:    tp1 cpw.md -> Bertoni Walczyszyn tp1 cpw.md

bertoni's avatar
bertoni committed
        $ git commit -a --amend -m"modification du nom"
        [master 4773e48] modification du nom
        Date: Mon Jan 8 18:30:28 2018 +0100
        1 file changed, 8 insertions(+), 87 deletions(-)
        rename tp1 cpw.md => Bertoni Walczyszyn tp1 cpw.md (61%)
bertoni's avatar
bertoni committed

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

        $ git log
        commit 4773e48d22ecbca3b1d7e07ae3e6893fb1e7859b (HEAD -> master)
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:30:28 2018 +0100

            modification du nom

        commit a95c3e051181aa16b2a2e8bd95fb7c2c65a690d3
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:21:02 2018 +0100

            premier ajout

bertoni's avatar
bertoni committed
0. Il ne devrait y avoir que deux entrées dans l'historique pourquoi ? `*`
bertoni's avatar
bertoni committed

        Le deuxième commit a été modifié, un nouveau commit n'a pas été créé pour le changement
        de nom du fichier.

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

        $ git commit -m "ajout fichier start"
        [master 39cc64e] ajout fichier start
        2 files changed, 55 insertions(+), 2 deletions(-)
        create mode 100644 start.txt

bertoni's avatar
bertoni committed
0. Créer un nouveau fichier : file2ignore
0. Afficher la status de votre copie de travail
bertoni's avatar
bertoni committed

        $ git status
        On branch master
        Untracked files:
          (use "git add <file>..." to include in what will be committed)

                file2ignore.txt

        nothing added to commit but untracked files present (use "git add" to track)

bertoni's avatar
bertoni 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 `*`
bertoni's avatar
bertoni committed
        $ touch .gitignore
        $ echo .gitignore > file2ignore.txt
        $ git add .gitignore
        warning: LF will be replaced by CRLF in .gitignore.
        The file will have its original line endings in your working directory.
        $ git commit -m "ajout .gitignore"
        [master b710486] ajout .gitignore
         1 file changed, 1 insertion(+)
         create mode 100644 .gitignore
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
0. Lister le contenu du repertoire courant, afficher le status et la log
bertoni's avatar
bertoni committed

        $ ls -a
        ./   ../   .git/   .gitignore  'Bertoni Walczyszyn tp1 cpw.md'   file2ignore.txt   start.txt
bertoni's avatar
bertoni committed

        $ git status
bertoni's avatar
bertoni committed
        On branch master
bertoni's avatar
bertoni committed
        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:   Bertoni Walczyszyn tp1 cpw.md

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

        $ git log
bertoni's avatar
bertoni committed
        commit 8d099642e935da8dfb10e45c15dfdeb6baf21718 (HEAD -> master)
bertoni's avatar
bertoni committed
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:53:56 2018 +0100

            ajout .gitignore

        commit 39cc64eb63efc636e37df435d7f4fb1c1b8a769b
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:43:46 2018 +0100

            ajout fichier start

        commit 4773e48d22ecbca3b1d7e07ae3e6893fb1e7859b
        Author: bertoni <marion_bertoni@outlook.fr>
        Date:   Mon Jan 8 18:30:28 2018 +0100

bertoni's avatar
bertoni committed
            modification du nom
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
        commit a95c3e051181aa16b2a2e8bd95fb7c2c65a690d3
bertoni's avatar
bertoni committed
        Author: bertoni <marion_bertoni@outlook.fr>
bertoni's avatar
bertoni committed
        Date:   Mon Jan 8 18:21:02 2018 +0100
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
            premier ajout  
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
0. Avant de commiter affichez les modifications par rapport à la précédente révision ? `*`
bertoni's avatar
bertoni committed
        $ git diff HEAD 39cc64
        diff --git a/Bertoni Walczyszyn tp1 cpw.md b/Bertoni Walczyszyn tp1 cpw.md
        index 24d2b78..d503c57 100644
        --- a/Bertoni Walczyszyn tp1 cpw.md
        +++ b/Bertoni Walczyszyn tp1 cpw.md
        @@ -52,12 +52,11 @@ https://gitlab.isima.fr/mazenovi/2017-F2-Forge
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
                 renamed:    tp1 cpw.md -> Bertoni Walczyszyn tp1 cpw.md
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
        -
        -          $ git commit -a --amend -m"modification du nom"
        -          [master 4773e48] modification du nom
        -          Date: Mon Jan 8 18:30:28 2018 +0100
        -          1 file changed, 8 insertions(+), 87 deletions(-)
        -          rename tp1 cpw.md => Bertoni Walczyszyn tp1 cpw.md (61%)
        +        $ git commit -a --amend -m"modification du nom"
        +        [master 4773e48] modification du nom
        +        Date: Mon Jan 8 18:30:28 2018 +0100
        +        1 file changed, 8 insertions(+), 87 deletions(-)
        +        rename tp1 cpw.md => Bertoni Walczyszyn tp1 cpw.md (61%)
bertoni's avatar
bertoni committed

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

bertoni's avatar
bertoni committed
        @@ -80,12 +79,81 @@ https://gitlab.isima.fr/mazenovi/2017-F2-Forge
                 de nom du fichier.
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
        diff --git a/.gitignore b/.gitignore
        deleted file mode 100644
        index eb0899c..0000000
        --- a/.gitignore
        +++ /dev/null
        @@ -1 +0,0 @@
        -file2ignore.txt
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni 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`)
bertoni's avatar
bertoni committed

        $ git branch BertoniWalczyszyn

bertoni's avatar
bertoni committed
0. Lister les branches locales et les fichiers présent dans le répertoire courant `*`
bertoni's avatar
bertoni committed

        $ git branch
        BertoniWalczyszyn
        * master

        $ ls -a
        ./   ../   .git/   .gitignore  'Bertoni Walczyszyn tp1 cpw.md'   file2ignore.txt   start.txt

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

bertoni's avatar
bertoni committed
0. Créez une branche pour _développer_ la réponse de ce point (nommez là `mybranch-2.4` par exemple)
bertoni's avatar
bertoni committed

        $ git branch
          BW-2.4
          BertoniWalczyszyn
        * master

bertoni's avatar
bertoni committed
      0. Afficher un historique sous forme de graph (`a dog`) de votre repo

              $ git log --all --decorate --oneline --graph
              * 88533e1 (BertoniWalczyszyn) derniere version
              * 113376e (origin/BertoniWalczyszyn) derniere version 08/01
              | * 52f744d (HEAD -> BW-2.4, master) 19h32
              | * ae1b0d7 branche créée
              |/
              * 8d09964 ajout .gitignore
              * 39cc64e ajout fichier start
              * 4773e48 modification du nom
              * a95c3e0 premier ajout

      0. Pourquoi les 2 branches pointent elles sur la même révision ?`*`

              Car aucune modification n'a encore été faite, aucun nouveau commit sur la nouvelle branche

      0. Afficher à nouveau l'historique pour montrer les modifications suite au précédent commit `*`

              $ git log --all --decorate --oneline --graph
              * baf3847 (HEAD -> BW-2.4) creation branche BW-2.4
              * 52f744d (master) 19h32
              * ae1b0d7 branche créée
              | * 88533e1 (BertoniWalczyszyn) derniere version
              | * 113376e (origin/BertoniWalczyszyn) derniere version 08/01
              |/
              * 8d09964 ajout .gitignore
              * 39cc64e ajout fichier start
              * 4773e48 modification du nom
              * a95c3e0 premier ajout
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
0. Revenir la branche `mybranch`
bertoni's avatar
bertoni committed

            $ git checkout BertoniWalczyszyn
            Switched to branch 'BertoniWalczyszyn'

bertoni's avatar
bertoni committed
0. Où sont passées vos reponses au point 2.4 ? `*`
bertoni's avatar
bertoni committed

            elles ont disparu
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
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)
bertoni's avatar
bertoni committed

            $ git commit -m "ajout new_file"
            [master 5b03c92] ajout new_file
             2 files changed, 60 insertions(+), 6 deletions(-)
             create mode 100644 new_file

bertoni's avatar
bertoni committed
0. Revenir sur votre branche `mybranch` pour completer le compte rendu `*`
bertoni's avatar
bertoni committed

            $ git checkout BertoniWalczyszyn
            Switched to branch 'BertoniWalczyszyn'

bertoni's avatar
bertoni committed
0. Affichez un historique sous forme de graph (`a dog`) de votre repo `*`
bertoni's avatar
bertoni committed

bertoni's avatar
bertoni committed
            $ git log --all --decorate --oneline --graph
            * 5b03c92 (master) ajout new_file
            | * 8e5667f (HEAD -> BertoniWalczyszyn) changement de branche
            | *   65e4aff mise a jour rapport
            | |\
            | | * 52d300a (BW-2.4) changement de branche
            | | * baf3847 creation branche BW-2.4
            | |/
            |/|
            * | 52f744d 19h32
            * | ae1b0d7 branche créée
            | * 88533e1 derniere version
            | * 113376e (origin/BertoniWalczyszyn) derniere version 08/01
            |/
            * 8d09964 ajout .gitignore
            * 39cc64e ajout fichier start
            * 4773e48 modification du nom
            * a95c3e0 premier ajout

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

bertoni's avatar
bertoni committed
0. Lister les branches distantes
0. Pousser votre branche de votre repo local sur le repos distant `*`
bertoni's avatar
bertoni committed

        $ git push origin BertoniWalczyszyn
        Counting objects: 13, done.
        Delta compression using up to 4 threads.
        Compressing objects: 100% (10/10), done.
        Writing objects: 100% (13/13), 4.63 KiB | 592.00 KiB/s, done.
        Total 13 (delta 2), reused 0 (delta 0)
        remote:
        remote: To create a merge request for BertoniWalczyszyn, visit:
        remote:   https://gitlab.isima.fr/mazenovi/2017-F2-Forge/merge_requests/new?merge_request%5Bsource_branch%5D=BertoniWalczyszyn
        remote:
        To https://gitlab.isima.fr/mazenovi/2017-F2-Forge.git
         * [new branch]      BertoniWalczyszyn -> BertoniWalczyszyn

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