Arc 1 Quête 03

Le Premier Parchemin

git init, add, commit, status, log

Les couloirs de la Citadelle du Savoir résonnent de tes pas tandis que tu te diriges vers la Salle des Archives. Après avoir compris comment Git organise le travail dans ses Trois Salles, il est temps de passer à l'action. Le Maître Archiviste t'attend devant un bureau couvert de parchemins vierges.

« Assez de théorie, jeune apprenti. Aujourd'hui, tu vas créer ta première archive et y sceller tes premiers documents. C'est le geste fondamental de tout Archiviste : observer, consigner, sceller. Chaque parchemin que tu archiveras portera ta marque dans l'histoire du royaume. Commençons. »

Les commandes en détail

git init - Créer un nouveau dépôt

La commande git init transforme un simple dossier en dépôt Git. Elle crée un sous-dossier caché .git/ qui contient tout le mécanisme interne de Git (l'historique, la configuration, les objets…).

mkdir mon-projet
cd mon-projet
git init -b main

Résultat attendu :

Initialized empty Git repository in /chemin/vers/mon-projet/.git/

Tu peux vérifier que le dossier .git/ a été créé :

ls -la
# Tu verras un dossier .git/

Ne touche jamais manuellement au contenu du dossier .git/. C'est le coffre-fort de Git - laisse-le gérer ses affaires.

git status - Vérifier l'état du dépôt

C'est la commande que tu utiliseras le plus souvent. Elle te dit exactement où en sont tes fichiers :

git status

Les fichiers apparaissent en couleur :

  • Rouge - fichiers modifiés ou nouveaux, mais pas encore dans la zone de staging (Working Directory)
  • Vert - fichiers prêts à être scellés (dans la Staging Area, en attente de commit)
  • Rien - tout est propre, aucune modification en cours

Prends le réflexe de taper git status avant et après chaque action. C'est ta boussole - elle t'indique toujours où tu en es.

git add <fichier> - Ajouter au staging

Cette commande déplace un fichier du Working Directory vers la Staging Area (la Salle de Préparation, vue dans la quête 02). C'est l'étape de préparation avant le scellement définitif.

# Ajouter un fichier spécifique
git add mission.txt

# Ajouter plusieurs fichiers
git add fichier1.txt fichier2.txt

# Ajouter TOUS les fichiers modifiés ou nouveaux
git add .

Après un git add, fais un git status : le fichier devrait passer du rouge au vert.

git add . ajoute tout d'un coup. C'est pratique, mais fais attention à ne pas inclure des fichiers indésirables (fichiers temporaires, fichiers de configuration personnelle, etc.). Quand tu débutes, préfère ajouter les fichiers un par un pour bien contrôler ce que tu fais.

git commit -m "message" - Sceller dans l'archive

Le commit est l'acte de scellement : tu prends tout ce qui est dans la Staging Area et tu l'archives définitivement dans le Repository avec un message explicatif.

git commit -m "Ajouter le rapport d'observation des frontières nord"

Résultat attendu :

[main (root-commit) a1b2c3d] Ajouter le rapport d'observation des frontières nord
 1 file changed, 15 insertions(+)
 create mode 100644 mission.txt

Git te donne :

  • La branche sur laquelle tu es (main)
  • Un identifiant unique abrégé (a1b2c3d) - c'est le sceau du commit
  • Le message que tu as écrit
  • Un résumé des modifications (fichiers modifiés, lignes ajoutées/supprimées)

Anatomie d'un bon message de commit

Le message de commit est essentiel : c'est ce que liront les autres (et toi-même dans six mois) pour comprendre pourquoi une modification a été faite. L'objectif est d'enregistrer chaque modification de manière claire et lisible.

Les règles d'or :

Règle Exemple bon Exemple mauvais
Commencer par un verbe à l'infinitif Ajouter la page de contact Ajouté la page
Être court (50 car. max) Corriger le calcul de la taxe J'ai corrigé le bug dans le calcul…
Être descriptif Supprimer les logs de debug fix
Décrire le pourquoi Limiter l'upload à 5 Mo pour éviter les timeout Modifier la variable MAX_SIZE

Ajouter le formulaire d'inscription

Corriger l'affichage du menu sur mobile

Supprimer les fichiers temporaires du build

Mettre à jour les dépendances de sécurité

Refactoriser la fonction de calcul des scores

fix

update

modifs

wip

asdfgh

correction du truc

Si tu n'arrives pas à résumer ton commit en une phrase courte, c'est peut-être que tu as fait trop de choses d'un coup. Un bon commit = une seule modification logique.

Exercice pratique - Mission en étapes

Le Maître Archiviste te confie ta première mission officielle. Suis les étapes dans l'ordre.

Étape 1 : Crée ton archive

Crée un dossier mon-archive/ et initialise un dépôt Git à l'intérieur :

mkdir mon-archive
cd mon-archive
git init -b main

Vérifie que tout est en ordre :

git status

Tu devrais voir : On branch main (ou master) et nothing to commit.

Étape 2 : Récupère l'ordre de mission

Copie le fichier parchemins/mission.txt (fourni avec cette quête) dans ton dépôt mon-archive/ :

# Depuis le dossier mon-archive/, copie le fichier mission.txt
# Adapte le chemin selon l'emplacement de ta quête
cp ../parchemins/mission.txt .

Vérifie avec git status - le fichier devrait apparaître en rouge (non suivi).

Étape 3 : Premier scellement (commit)

Ajoute le fichier à la zone de staging, puis scelle-le :

git add mission.txt
git status          # mission.txt devrait être en VERT maintenant
git commit -m "Ajouter l'ordre de mission de la Guilde"

Choisis un message de commit descriptif ! Pas de "Initial commit" ou de "test". Décris ce que tu fais réellement.

Étape 4 : Complète la mission

Ouvre mission.txt dans ton éditeur de texte préféré et remplis les champs d'observation. Par exemple :

- Lieu : Forêt de Sombrebois, poste d'observation n°7
- Créature observée : Wyverne à écailles argentées
- Niveau de danger (1-5) : 4
- Notes : Aperçue à l'aube, semble nicher dans les falaises est

Sauvegarde le fichier.

Étape 5 : Deuxième scellement

Fais un git status pour voir la modification, puis archive-la :

git status          # mission.txt en ROUGE (modifié)
git add mission.txt
git commit -m "Compléter le rapport d'observation des frontières"

Étape 6 : Vérifie l'historique

Consulte l'historique de ton archive :

git log --oneline

Tu devrais voir tes deux commits, du plus récent au plus ancien :

b2c3d4e Compléter le rapport d'observation des frontières
a1b2c3d Ajouter l'ordre de mission de la Guilde

Étape 7 : Validation de la quête

Lance le script de vérification depuis ton dossier mon-archive/ :

Bash (Linux / macOS / Git Bash) :

bash ../verifier.sh

PowerShell (Windows) :

..\verifier.ps1

Le script vérifie :

  1. Tu es dans un dépôt Git
  2. Tu as au moins 2 commits
  3. Le fichier mission.txt est suivi par Git
  4. Ton premier message de commit est personnalisé (pas "Initial commit")
  5. Tu as complété le parchemin (mission.txt diffère du modèle fourni)

Récapitulatif des commandes

Commande Description
git init Initialiser un nouveau dépôt Git
git status Voir l'état des fichiers (modifiés, staged, commités)
git add <fichier> Ajouter un fichier à la zone de staging
git add . Ajouter tous les fichiers modifiés au staging
git commit -m "msg" Créer un commit avec un message
git log --oneline Afficher l'historique des commits (format court)

Le Maître Archiviste examine ton archive avec attention. Un sourire se dessine sur son visage.

« Excellent travail, apprenti. Tu sais désormais créer une archive, y consigner des documents et sceller tes modifications. Ces gestes deviendront vite des réflexes. Dans la prochaine quête, tu découvriras que les archives ne se limitent pas à ton bureau - elles peuvent voyager à travers tout le royaume. Prépare-toi. »