Voir les changements et revenir en arrière
`git diff` : qu'est-ce que j'ai changé ?
git diff montre les lignes modifiées dans le dossier de travail qui ne sont pas encore préparées :
diff --git a/README.md b/README.md
# Parcours ML
-Mon apprentissage du machine learning.
+Mon apprentissage du machine learning, de zéro.
+Objectif : ingénieur ML.
- une ligne qui commence par
-(en rouge) a été supprimée ; - une ligne qui commence par
+(en vert) a été ajoutée ; - une ligne modifiée apparaît comme une suppression suivie d'un ajout ;
- les lignes sans signe n'ont pas changé : elles sont là pour te repérer.
Si git diff n'affiche rien alors que tu as modifié un fichier, c'est souvent qu'il est déjà préparé. Utilise alors git diff --staged, qui compare la zone de préparation avec le dernier commit.
Dans un vrai terminal, si l'affichage remplit l'écran et que tu n'as plus d'invite, appuie sur q pour quitter.
`git log` : l'historique
git log --oneline
a91c3e2 (HEAD -> main) Ajoute l'objectif dans le README
4f2a9c1 Initialise le parcours ML
- un commit par ligne, le plus récent en haut ;
- à gauche, l'identifiant (les 7 premiers caractères du hash) ;
HEAD -> mainindique où tu te trouves.
Sans --oneline, chaque commit prend plusieurs lignes, avec l'auteur et la date.
`git restore` : annuler
| Commande | Effet | Danger |
|---|---|---|
git restore --staged fichier |
descend le fichier de l'estrade : il quitte la zone de préparation. Tes modifications restent dans le fichier. | aucun |
git restore fichier |
remet le fichier tel qu'il était dans la zone de préparation (donc dans le dernier commit si rien n'est préparé) | tes modifications non commitées sont perdues pour toujours |
Exemple concret : tu as ajouté trois lignes dans calcul.py et maintenant plus rien ne marche. Tu n'as pas commité ces lignes. git restore calcul.py te rend la version du dernier commit, celle qui marchait.
Pratique : Modifie, compare, annule
Le dépôt a un premier commit. Pour ajouter une ligne : echo "texte" >> README.md, ou code README.md.
Un terminal simulé t'attend dans l'appli, sans rien installer. Pratiquer
Teste-toi
Tu as fait git add notes.md par erreur. Tu veux le retirer de la prochaine photo sans perdre ce que tu as écrit. Quelle commande ?
git restore notes.mdgit restore --staged notes.md(bonne réponse)rm notes.mdgit commit -m "annule"