Skip to content
Snippets Groups Projects
DrosneMosnierSujet.md 4.78 KiB
Newer Older
DROSNE Denys's avatar
DROSNE Denys committed
# Cours Forge ZZ2 F2 2017

# Infos étudiant :

Par binôme Nom Prénom:
Denys's avatar
Denys committed
 * Bastien Mosnier
 * Drosne Denys


DROSNE Denys's avatar
DROSNE Denys 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
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 `*`
Denys's avatar
Denys committed
     ````
     git add rapport.md
     ````
DROSNE Denys's avatar
DROSNE Denys committed
0. Afficher la status de votre copie de travail
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
Denys's avatar
Denys committed
     ````
     git log
     ````
DROSNE Denys's avatar
DROSNE Denys 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) `*`
0. Afficher l'historique de votre repo
0. Il ne devrait y avoir que deux entrées dans l'historique pourquoi ? `*`
0. Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle `*`
Denys's avatar
Denys committed
     ````
     $touch start
     $date >> start
     ````
DROSNE Denys's avatar
DROSNE Denys committed
0. Créer un nouveau fichier : file2ignore
0. Afficher la status de votre copie de travail
Denys's avatar
Denys committed
0. On souhaite que ce fichier soit ignoré et ne soit jamais commité. Réalisez la configuration nécesaire pour que cette regle soit effective `*`
     ````
     $touch file2ignore
     $touch .gitignore
     $echo file2ignore >> .gitignore
     ````
DROSNE Denys's avatar
DROSNE Denys committed
0. Lister le contenu du repertoire courant, afficher le status et la log
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`)
Denys's avatar
Denys committed
     ````
     $git branch DrosneMosnier
     git checkout DrosneMosnier
     ````
DROSNE Denys's avatar
DROSNE Denys committed
0. Lister les branches locales et les fichiers présent dans le répertoire courant `*`
Denys's avatar
Denys committed
     ````
     $git log
     ````
DROSNE Denys's avatar
DROSNE Denys committed
0. Aficher le status de votre repo `*`
Denys's avatar
Denys committed
     ````
     $git status
     ````
DROSNE Denys's avatar
DROSNE Denys committed
0. Créez une branche pour _développer_ la réponse de ce point (nommez là `mybranch-2.4` par exemple)
Denys's avatar
Denys committed
     ````
     $git branch Drosne2.4
     ````
DROSNE Denys's avatar
DROSNE Denys committed
  0. Afficher un historique sous forme de graph (`a dog`) de votre repo
Denys's avatar
Denys committed
     ````
     $git log --graph
     ````
DROSNE Denys's avatar
DROSNE Denys committed
  0. Pourquoi les 2 branches pointent elles sur la même révision ?`*`
Denys's avatar
Denys committed
     ````
     $???????????????
     ````
DROSNE Denys's avatar
DROSNE Denys committed
  0. Afficher à nouvea l'historique pour montrer les modifications suite au précédent commit `*`
Denys's avatar
Denys committed
     ````
     $git log
     $git status
     ````
DROSNE Denys's avatar
DROSNE Denys committed
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 ?