User Tools

Site Tools


2018_2019:s2:td:git

This is an old revision of the document!


Introduction à GIT

Définition de l'environnement

  1. Adresse de gitlab : https://git-iutinfo.unice.fr/
  2. Vous désactivez la vérification SSL
     git config --global http.sslVerify false 
  3. Suivez les instructions du dépôt (si vous ne les voyez plus : 2018_2019:s2:td:git:depot

Pour les étudiants qui utilisent leur ordi perso, il est possible que vous ayez besoin de, ouvrir un Git CMD en administrateur, puis taper la commande suivante:

 git config --system --unset credential.helper

Git comme un historique des modifications

Chaque étudiant du groupe a une tâche particulière, chacun choisit sa couleur : Blanc, Bleu, Vert, Jaune, Rouge

  1. Créer un fichier contenant une classe vice en fonction de votre couleur (public class X {})
    • Blanc : Game (Partie)
    • Bleu : Player (Joueur)
    • Vert : Move (Coup)
    • Jaune : IA
    • Rouge : GameManager
    • Evidemment dans ce qui suit X est le nom de class créée par chacun.
  2. Comment interprétez-vous le résultat de la commande suivante
     git status 
  3. Ajoutez votre fichier X.java comme git vous l'a dit :
     git add X.java
  4. Réinterprétez le résultat de la commande git status.
  5. Le fichier X.txt est maintenant prêt à être versionné.
     git commit -m "construction de la class X" 

    ou

     git commit 

    1) Quel message avez-vous en retour?

  6. Que donne la commande git status ?
  7. Apportez quelques modifications au fichier X.java.
    • Blanc : ajouter l'attribut Date date avec aussi import java.util.Date; (Game)
    • Bleu : ajouter l'attribut String pseudo (Player)
    • Vert : ajouter l'attribut LocalTime time; (Move) 2)
    • Jaune : ajouter l'attribut int level (IA)
    • Rouge : ajouter la methode export (GameManager) 3)
  8. Essayez de commiter ces modifications. Que se passe-t-il ? En vous aidant de la documentation accessible en tapant git help commit, versionnez ces modifications (avec un message décrivant le changement) 4)
  9. Affichez l’historique des modifications du dépôt.
     git log 
  10. Et pour voir les modifications apportées par le dernier commit
     git log -p  -1 

    et savoir qui fait quoi

     git log --stat 

    ou

     git log --pretty=format:"%h - %an, %ar : %s"

    etc.

  11. En utilisant git diff , visualisez les modifications effectuées entre le premier commit et le second commit. Par exemple
     git diff 71cfcd6 0c24491 

    Attention l'ordre des commits modifie le résultat (un- devient un +).

  12. Modifiez plusieurs fois votre fichier par exemple en ajoutant des commentaires afin d’en avoir plusieurs versions.
  13. Le dernier commentaire ajouté ne vous plait finalement pas. Il existe deux manières de revenir à une version antérieure : de manière temporaire ou définitive.
  14. Exécuter git log et récupérez le hash (HASH) du commit où vous souhaitez revenir en arrière.
    1. Pour revenir en arrière de manière temporaire, exécutez
       git checkout HASH
      1. Vérifiez que votre fichier est dans son état antérieur.
      2. Revenez au dernier commit (HEAD) en exécutant
         git checkout master
    2. Pour revenir en arrière de manière définitive, et donc supprimer tout ce que vous avez fait depuis ce moment :
       git reset --hard HASH 
      1. Dans git log, vérifiez que tout ce que vous aviez effectué depuis ce commit a été effacé.

Références

1)
Un éditeur s'ouvre qui dépend de votre configuration. Si c'est VIM pour sortir “:q”. Si l'éditeur ne vous convient pas, vous pouvez le configurer par exemple
 git config --global core.editor emacs 
2)
import java.time.LocalTime;
public class Move {
  private LocalTime time;
}
3)
import java.util.Date;
public class Game {
	private Date date;
}
4)
Au lieu d'un git add suivi d'un git commit vous pouvez préférer
 git commit -a -m "ajout de l'attribut Y ..."
2018_2019/s2/td/git.1552766742.txt.gz · Last modified: 2019/03/16 21:05 by blay