git config --global core.editor emacs
2018_2019:s2:td:git
This is an old revision of the document!
Table of Contents
Introduction à GIT
Définition de l'environnement
- Adresse de gitlab : https://git-iutinfo.unice.fr/
- Vous désactivez la vérification SSL
git config --global http.sslVerify false
- 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
- 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.
- Comment interprétez-vous le résultat de la commande suivante
git status
- Ajoutez votre fichier
X.java
comme git vous l'a dit :git add X.java
- Réinterprétez le résultat de la commande
git status
. - 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?
- Que donne la commande
git status
? - Apportez quelques modifications au fichier
X.java
. - 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) - Affichez l’historique des modifications du dépôt.
git log
- 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.
- En utilisant
git diff
, visualisez les modifications effectuées entre le premier commit et le second commit. Par exemplegit diff 71cfcd6 0c24491
Attention l'ordre des commits modifie le résultat (un- devient un +).
- Modifiez plusieurs fois votre fichier par exemple en ajoutant des commentaires afin d’en avoir plusieurs versions.
- 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.
- Exécuter
git log
et récupérez le hash (HASH) du commit où vous souhaitez revenir en arrière.- Pour revenir en arrière de manière temporaire, exécutez
git checkout HASH
- Vérifiez que votre fichier est dans son état antérieur.
- Revenez au dernier commit (HEAD) en exécutant
git checkout master
- 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
- Dans
git log
, vérifiez que tout ce que vous aviez effectué depuis ce commit a été effacé.
Synchronisation de votre répertoire
Hormis la première étape, vous avez expérimenté Git pour gérer localement vos versions. Nous allons maintenant nous intéresser au développement collaboratif de fichier sources.
- Visualisez les références distantes
git remote
- Visualisez les URL associées aux références distantes
git remote -v
- Envoyez ensuite le commit vers le dépôt distant :
git push origin master
- (Tous sauf A)
- Visualiser l'état du dépôt distant
git remote show origin
- Synchroniser votre dépôt git avec la commande
git pull
- (Un développeur autre que A)
- Modifiez le fichier index.html afin d’ajouter du texte entre les balises body.
- Commitez les modifications et envoyez-les vers le dépôt distant.
- (TOUS) Synchroniser votre dépôt git avec la commande
git pull
. - (Personne A)
- Modifiez le titre de la page Web et
- Commitez/envoyez les modifications.
- (Personne B) (SANS SYNCHRONISER LE DEPOT)
- Modifiez le titre de la page Web
- Commitez/envoyez les modifications. Que se passe-t-il ? Remédiez au conflit.
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
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.1552766895.txt.gz · Last modified: 2019/03/16 20:08 by blay