Introduction
Les administrateurs Linux modifient fréquemment des fichiers de configuration. Git est un outil précieux car il enregistre ce qui a été modifié, quand et pourquoi. Même lorsqu'un flux de travail d'infrastructure complet n'est pas nécessaire, un petit dépôt Git peut vous aider à suivre les modifications de configuration locales avant et après une édition.
Dans ce laboratoire, vous allez suivre un petit fichier de configuration nommé app.conf situé dans /home/labex/project. Vous allez initialiser un dépôt Git, configurer l'identité de l'auteur localement, créer un commit initial, modifier le fichier, inspecter les différences (diff) et créer un second commit. Ce laboratoire utilise l'historique Git comme enregistrement durable des modifications de configuration.
Inspection du fichier de configuration
Dans cette étape, vous allez inspecter le fichier que Git va suivre. Avant de créer un dépôt, assurez-vous de savoir quel fichier est concerné et quel est son contenu actuel.
Déplacez-vous dans le répertoire du projet LabEx.
cd /home/labex/project
Listez le fichier de configuration. L'option -l affiche les métadonnées telles que la taille, le propriétaire et les permissions.
ls -l app.conf
Lisez le fichier. Cette configuration utilise des lignes simples de type key=value, courantes dans les configurations d'applications Linux.
cat app.conf
Vous devriez voir log_level=info. Plus tard, vous ne modifierez que ce paramètre afin que le diff Git reste ciblé.
Initialisation d'un dépôt Git local
Dans cette étape, vous allez transformer /home/labex/project en un dépôt Git. Un dépôt Git stocke l'historique dans un répertoire caché .git. Git nécessite également un nom d'auteur et une adresse e-mail avant de pouvoir créer des commits. Dans un environnement professionnel, cela pourrait être configuré globalement, mais dans les laboratoires, il est plus sûr de configurer l'identité uniquement pour ce dépôt.
Initialisez le dépôt. L'option -b main crée la branche initiale avec le nom explicite main, ce qui évite que Git n'affiche un avertissement concernant la branche par défaut.
git init -b main
Définissez l'identité de l'auteur local. La portée --local stocke ces valeurs uniquement dans ce dépôt. La troisième commande désactive la coloration de la sortie Git dans ce dépôt de laboratoire afin que les sorties courtes de status, diff et log soient plus faciles à lire dans un terminal de navigateur.
git config --local user.name "LabEx Learner"
git config --local user.email "learner@example.com"
git config --local color.ui false
Exécutez git status --short. Le fichier devrait apparaître comme non suivi (untracked) car Git le voit mais ne le suit pas encore. Dans la sortie courte, ?? signifie un fichier non suivi.
git status --short
Validation de la configuration initiale
Dans cette étape, vous allez créer le premier commit. Git possède deux zones principales à comprendre à ce stade : l'arbre de travail (working tree) et la zone de préparation (staging area). L'arbre de travail correspond aux fichiers que vous voyez et modifiez. La zone de préparation contient l'ensemble des modifications qui seront intégrées au prochain commit.
Préparez uniquement le fichier de configuration. Évitez git add . pendant votre apprentissage, car cela peut accidentellement préparer des fichiers non liés.
git add app.conf
Vérifiez à nouveau le statut court. A signifie que le fichier est préparé en tant que nouveau fichier.
git status --short
Créez le premier commit avec un message clair.
git commit -m "Track initial app configuration"
Inspectez l'historique récent. --oneline permet de garder la sortie compacte. L'option --no-pager affiche le journal directement dans le terminal au lieu d'ouvrir une visionneuse interactive.
git --no-pager log --oneline
Révision et validation d'une modification de configuration
Dans cette étape, vous allez modifier la configuration et inspecter le changement avant de le valider. C'est l'habitude Git fondamentale pour le suivi de configuration : effectuer une modification ciblée, examiner le diff, puis le valider avec un message expliquant l'intention.
Changez log_level de info à debug. La commande sed -i modifie le fichier sur place. Le motif commence par ^ et se termine par $ afin de ne modifier que la ligne complète log_level=info.
sed -i 's/^log_level=info$/log_level=debug/' app.conf
Affichez la différence entre la version validée et votre arbre de travail. --no-pager conserve le diff directement dans le terminal.
git --no-pager diff -- app.conf
Le diff devrait montrer une ligne supprimée et une ligne ajoutée :
-log_level=info
+log_level=debug
Préparez et validez la modification ciblée.
git add app.conf
git commit -m "Enable debug logging"
Affichez à nouveau l'historique compact. Vous devriez maintenant voir deux commits.
git --no-pager log --oneline
Enfin, vérifiez que l'arbre de travail est propre pour app.conf.
git status --short app.conf
Résumé
Vous avez pratiqué les opérations Git de base pour le suivi de configuration Linux. Vous avez inspecté un fichier de configuration, initialisé un dépôt, défini une identité d'auteur locale, vérifié le statut, préparé un fichier spécifique, créé un commit initial, examiné un diff ciblé et validé une modification de configuration. Ces habitudes aident les administrateurs à comprendre et à restaurer les modifications de configuration au lieu de modifier les fichiers à l'aveugle.



