TP 1 : Git en local – Cycle de vie d'un dépôt

Module : 1 – Versioning et collaboration avec Git & GitHub Durée indicative : 2h Prérequis : partie théorique du Module 1, Git installé (git --version)

Objectifs

  • Initialiser un dépôt Git et comprendre les trois zones (working directory, index, dépôt).
  • Créer des commits, lire l’historique, annuler des modifications.
  • Utiliser .gitignore.

Contexte

Fil rouge du module : vous versionnez les fichiers de configuration d’équipements réseau (exports MikroTik, configurations Cisco) d’un petit laboratoire.

Étape 1 – Initialisation

mkdir netlab-configs && cd netlab-configs
git init
git config user.name "Votre Nom"
git config user.email "[email protected]"

Vérifiez l’état du dépôt avec git status.

Étape 2 – Premier commit

Créez le fichier mikrotik-router1.rsc :

/ip address add address=192.168.10.1/24 interface=ether1
/ip route add gateway=192.168.10.254
git add mikrotik-router1.rsc
git status
git commit -m "feat(mikrotik): configuration initiale de router1"

Étape 3 – Historique et différences

  • Modifiez l’adresse IP dans le fichier.
  • Comparez avec git diff.
  • Indexez et commitez le changement.
  • Affichez l’historique : git log --oneline --graph et git show <hash>.

Étape 4 – .gitignore

Créez un fichier credentials.env contenant un mot de passe fictif, puis un fichier .gitignore qui l’exclut :

credentials.env
*.bak

Vérifiez avec git status que credentials.env n’apparaît plus comme fichier à suivre.

Étape 5 – Annuler des modifications

Comparatif des commandes d’annulation Comparatif des commandes d’annulation restore, restore –staged et revert préservent l’historique ; commit –amend et reset le réécrivent.

  1. Modifiez un fichier sans l’indexer, puis annulez avec git restore.
  2. Indexez un fichier puis retirez-le de l’index avec git restore --staged.
  3. Faites un commit avec une erreur dans le message, corrigez-le avec git commit --amend.
  4. Créez un commit « à annuler » puis annulez-le avec git revert (jamais reset --hard sur un commit déjà partagé).

Rendu attendu

  • Le dépôt local netlab-configs avec au moins 5 commits significatifs.
  • Une capture de git log --oneline --graph.
  • Le fichier .gitignore fonctionnel.

Points de vérification

  • git status ne montre pas credentials.env.
  • L’historique contient des messages de commit clairs (type + description).
  • git revert a été utilisé au moins une fois avec succès.