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.254git 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 --graphetgit 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
*.bakVérifiez avec git status que credentials.env n’apparaît plus comme fichier à suivre.
Étape 5 – Annuler des modifications
restore, restore –staged et revert préservent l’historique ; commit –amend et reset le réécrivent.
- Modifiez un fichier sans l’indexer, puis annulez avec
git restore. - Indexez un fichier puis retirez-le de l’index avec
git restore --staged. - Faites un commit avec une erreur dans le message, corrigez-le avec
git commit --amend. - Créez un commit « à annuler » puis annulez-le avec
git revert(jamaisreset --hardsur un commit déjà partagé).
Rendu attendu
- Le dépôt local
netlab-configsavec au moins 5 commits significatifs. - Une capture de
git log --oneline --graph. - Le fichier
.gitignorefonctionnel.
Points de vérification
-
git statusne montre pascredentials.env. - L’historique contient des messages de commit clairs (type + description).
-
git reverta été utilisé au moins une fois avec succès.