OS de votre poste :
Module 04 · Git & GitHub · TP 01

TP-01 — Enregistrer et retrouver les versions avec Git

Modifier des fichiers sans historique rend les comparaisons et les retours en arrière difficiles. Vous créerez un dépôt Git, enregistrerez des commits, comparerez des versions et apprendrez à annuler une modification.

Objectifs et cours associés

Créer un dépôt Git et manipuler les fichiers, commits et tags.

Pour réviser les notions utilisées dans ce TP :

Préparation

Prérequis

Configuration pour Linux

Git installé et accès à GitHub pour les TP distants.

Guide : Préparer Git

Ouvrir le terminal Linux avec student.

Terminal Linux

su - student

Si student est déjà connecté, conserver cette session.

Dépendances

Configuration pour Linux

Si ce dossier existe, inspecter les anciens fichiers avant de reprendre.

Aucun service Linux à installer pour ce TP. Les commandes Git s’exécutent dans le terminal préparé ci-dessus.

Étape 1 : Créer le dépôt de TP

Avec le compte de travail, créer le dossier du TP puis s’y placer :

Terminal Linux

# Créer le dossier indiqué pour les fichiers de travail du TP.
mkdir -p ~/devops-formation/tp-04-01
# Se placer dans le dossier requis pour les commandes suivantes.
cd ~/devops-formation/tp-04-01
# Créer le dossier indiqué pour les fichiers de travail du TP.
mkdir tp-git-local
# Se placer dans le dossier requis pour les commandes suivantes.
cd tp-git-local
# Initialiser l’historique Git dans le dossier de travail.
git init -b main
# Vérifier ou définir le paramètre Git indiqué.
git config user.name "Apprenant"
# Vérifier ou définir le paramètre Git indiqué.
git config user.email "apprenant@example.com"
# Lire le fichier pour vérifier son contenu.
cat > doc.txt <<'EOF'
Première version de la documentation.
EOF
# Distinguer les fichiers non suivis, préparés et modifiés.
git status --short
?? doc.txt

Étape 2 : Préparer et enregistrer

# Préparer les modifications indiquées dans l’index pour le prochain commit.
git add doc.txt
# Comparer les contenus pour identifier les modifications.
git diff --cached
# Enregistrer les modifications préparées dans un nouveau commit.
git commit -m "Ajoute la documentation"
# Distinguer les fichiers non suivis, préparés et modifiés.
git status --short

Le diff indexé montre le contenu prévu pour le commit. Le dernier statut ne retourne rien si le répertoire est propre.

Étape 3 : Comparer deux versions

# Lire le fichier pour vérifier son contenu.
cat >> doc.txt <<'EOF'
Une seconde ligne explique le projet.
EOF
# Comparer les contenus pour identifier les modifications.
git diff
# Préparer les modifications indiquées dans l’index pour le prochain commit.
git add doc.txt
# Enregistrer les modifications préparées dans un nouveau commit.
git commit -m "Explique le projet"
# Examiner l’historique des commits.
git log --oneline --graph
# Comparer les contenus pour identifier les modifications.
git diff HEAD~1 HEAD
# Examiner ou modifier le dépôt avec git blame.
git blame doc.txt

Étape 4 : Annuler et repérer une version

# Créer un commit qui annule les changements du commit ciblé.
git revert --no-edit HEAD
# Examiner l’historique des commits.
git log --oneline
# Créer ou examiner un repère de version dans l’historique.
git tag -a v0.1.0 -m "Version de TP"
# Examiner ou modifier le dépôt avec git show.
git show v0.1.0

Un nouveau commit Revert apparaît ; la seconde ligne disparaît. Le tag identifie cet état.

Validation : expliquer la différence entre fichier modifié, fichier indexé, commit local et tag.

Nettoyage

Dépendances

Configuration pour Linux

Linux : effectuer le nettoyage du dépôt dans le terminal natif. Ne pas supprimer ~/.gitconfig, ~/.ssh ou les paquets utilisés par d’autres projets.

Nettoyage et conservation de l’environnement

Conserver le dépôt de formation utilisé par les TP suivants et vos preuves de validation. Retirer les réglages temporaires de diagnostic, fermer les sessions et vérifier git status. À la fin de la séquence, supprimer seulement le clone et les ressources GitHub créés pour la formation après sauvegarde ; ne pas toucher aux projets personnels, à la configuration globale de Git ni aux clés SSH réutilisées. Si une clé ou un jeton était exclusivement dédié au TP, le révoquer côté GitHub avant de retirer sa copie locale.

Prérequis

Configuration pour Linux

Conserver Git et le dépôt du parcours pour les TP suivants. Le retrait éventuel des outils se décide après sauvegarde des travaux.

Guide : Préparer Git