Suivi de configuration avec Git

GitBeginner
Pratiquer maintenant

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.