Lab Niveau 02 — Manipuler
Objectifs
Section titled “Objectifs”- Créer un fichier suivi par Git
- Comprendre la Staging Area
- Réaliser un commit
Exercice 03 — Premier fichier suivi
Section titled “Exercice 03 — Premier fichier suivi”Créez README.md avec le contenu suivant :
# Git PlaygroundVérifiez :
git statusQuestion : Pourquoi Git indique-t-il Untracked ?
Exercice 04 — Ajouter le fichier
Section titled “Exercice 04 — Ajouter le fichier”git add README.mdgit statusRésultat attendu :
Changes to be committedExercice 05 — Premier commit
Section titled “Exercice 05 — Premier commit”git commit -m "feat: initial project"Vérifiez l’historique :
git logRésultat attendu : Premier commit affiché.
Checklist de validation
Section titled “Checklist de validation”- Le fichier
README.mda été créé -
git statusaffiche “Untracked” pour le fichier -
git add README.mda été exécuté -
git statusaffiche “Changes to be committed” - Un commit a été réalisé avec
git commit -
git logaffiche le commit créé
Compétences acquises
Section titled “Compétences acquises”- Staging Area
git add,git commit,git log
Fiches de révision
Section titled “Fiches de révision”Quel est le rôle de la Staging Area ?
Cliquer pour révéler la réponseZone intermédiaire où l'on prépare les fichiers avant de les valider dans un commit
Cliquer pour voir la questionQuelle commande ajoute un fichier à la Staging Area ?
Cliquer pour révéler la réponsegit add <fichier> ou git add . pour tout ajouter
Cliquer pour voir la questionQuelle commande enregistre un commit ?
Cliquer pour révéler la réponsegit commit -m "message descriptif"
Cliquer pour voir la questionÉvaluation des connaissances
Section titled “Évaluation des connaissances”1. Quel est le rôle de la Staging Area ?
2. Quelle commande ajoute un fichier à la Staging Area ?
3. Quelle commande affiche l'historique des commits ?
1. Pourquoi la manipulation est-elle cruciale ?
Section titled “1. Pourquoi la manipulation est-elle cruciale ?”Vous avez initialisé votre dépôt dans le Niveau 01, mais maintenant vous devez apprendre à l’alimenter. La manipulation de fichier est l’opération quotidienne dans tout projet de développement logiciel.
Les scénarios courants
Section titled “Les scénarios courants”- Nouvelle fonctionnalité : Vous devez ajouter de nouveaux fichiers de code pour une fonctionnalité demandée
- Correctif de bug : Vous allez modifier un fichier existant pour corriger un problème
- Rajout de documentation : Vous devez ajouter ou mettre à jour le fichier README
Sans une maîtrise correcte de ces opérations, vous risquez :
- d’écraser involontairement le travail d’un coéquipier
- de committer des fichiers qui ne devraient pas être dans le dépôt
- de perdre le historique de vos modifications
Les problèmes sans manipulation correcte
Section titled “Les problèmes sans manipulation correcte”Les développeurs qui sautent cette étape rencontrent fréquemment :
- Commits non intentionnels :
git commit -asans avoir faitgit addd’abord committe tout ce qui est dans le Working Directory - Fichiers oubliés : Oublier d’ajouter un nouveau fichier crucial, qui reste en tant que
Untracked永远 - Histoires polluées : Commits contenant des fichiers temporaires, des logs d’erreur ou des secrets par mégarde
Checklist de validation
Section titled “Checklist de validation”- Vous comprenez pourquoi chaque étape du flux de travail compte
- Vous pouvez expliquer la différence entre Working Directory et Staging Area
- Vous avez identifié les 3 pièges courants listés ci-dessus
2. Comprendre la Staging Area
Section titled “2. Comprendre la Staging Area”La Staging Area (également appelée Index) est la zone de préparation de Git. Elle intervient entre le Working Directory et le Local Repository.
Pourquoi avons-nous besoin de la Staging Area ?
Section titled “Pourquoi avons-nous besoin de la Staging Area ?”Elle vous permet de :
- Sélectionner quels fichiers inclure dans le prochain commit
- Pass en revue vos modifications avant de les valider
- Modifier le contenu d’un commit avant de l’enregistrer
Exercice — Explorer la Staging Area
Section titled “Exercice — Explorer la Staging Area”# Créer un nouveau fichierecho "Hello Git" > nouvelle-fonctionnalite.js
# Vérifier l'état actuelgit status
# Ajouter uniquement ce fichiergit add nouvelle-fonctionnalite.js
# Vérifier à nouveaugit statusRésultat attendu après git add :
Changes to be committed: (use "git restore --staged <file>" to unstage)
nouvelle-fonctionnalité.jsChecklist de validation
Section titled “Checklist de validation”- Vous pouvez distinguer les fichiers “Changes not staged” vs “Changes to be committed”
- Vous savez que
git add .ajoute TOUS les fichiersmodifiés - Vous savez utiliser
git reset HEAD <fichier>pour défaire ungit add:::
3. Exercice — Réaliser un commit
Section titled “3. Exercice — Réaliser un commit”Maintenant que vous avez ajouté des fichiers à la Staging Area, passons au commit.
Exercice 05 — Premier commit
Section titled “Exercice 05 — Premier commit”git commit -m "feat: initial project structure"Résultat attendu :
[main (root-commit) a1b2c3d] feat: initial project structure 2 files changed, 4 insertions(+) create mode 100644 README.md create mode 100644 nouvelle-fonctionnalité.jsExplication
Section titled “Explication”La commande git commit enregistre vos modifications dans l’historique du dépôt. L’option -m vous permet d’ajouter un message descriptif qui explique ce que contient ce commit. Ce message est crucial pour :
- Se rappeler pourquoi cette modification a été faite
- Aider les autres membres de l’équipe à comprendre l’historique
- Respecter les conventions de commit (comme les Commits Conventionnels)
Checklist de validation
Section titled “Checklist de validation”- Vous avez réussi à exécuter
git commit -m "message" -
git logaffiche votre nouveau commit en premier - Le message de commit est clair et descriptif :::
4. Terminal Playground — Pratique interactive
Section titled “4. Terminal Playground — Pratique interactive”Entraînez-vous maintenant avec notre terminal interactif ci-dessous. Suivez les étapes dans l’ordre :
Commandes à exécuter
Checklist de validation
Section titled “Checklist de validation”- Vous avez réussi à exécuter l’enchaînement complet des commandes
- Vous pouvez reproduire ces étapes sur votre propre terminal :::
5. Fiches de révision (Flashcards)
Section titled “5. Fiches de révision (Flashcards)”Entraînez-vous à retenir les concepts clés en cliquant sur les cartes ci-dessous :
Quel est le rôle de la Staging Area ?
Cliquer pour révéler la réponseZone intermédiaire où l'on prépare les fichiers avant de les valider dans un commit
Cliquer pour voir la questionQuelle commande ajoute un fichier à la Staging Area ?
Cliquer pour révéler la réponsegit add <fichier> ou git add . pour tout ajouter
Cliquer pour voir la questionQuelle commande enregistre un commit ?
Cliquer pour révéler la réponsegit commit -m "message descriptif"
Cliquer pour voir la questionChecklist de validation
Section titled “Checklist de validation”- Vous pouvez mémoriser les 3 commandes de base présentées
- Vous pouvez identifier la bonne commande pour chaque situation
6. Quiz d’évaluation
Section titled “6. Quiz d’évaluation”Testez vos connaissances avec ces questions à choix multiples :
1. Quel est le rôle de la Staging Area ?
2. Quelle commande ajoute un fichier à la Staging Area ?
3. Quelle commande affiche l'historique des commits ?
4. Quelle commande configure votre nom pour les commits ?
5. Quelle commande configure votre email pour les commits ?
Checklist de validation
Section titled “Checklist de validation”- Vous avez réussi à répondre à toutes les questions
- Vous avez identifié les bonnes commandes pour chaque situation
7. Erreurs fréquentes et dépannage
Section titled “7. Erreurs fréquentes et dépannage”| Erreur | Cause | Solution |
|---|---|---|
git: command not found |
Git n’est pas installé | Installez Git depuis https://git-scm.com/ |
fatal: not a git repository |
Vous essayez d’utiliser Git dans un dossier qui n’est pas un dépôt | Utilisez git init dans le dossier approprié |
error: there is no initial commit |
Vous essayez de faire git checkout sans commit initial |
Faites d’abord git add . puis git commit -m "initial" |
Please tell me your name and email |
Git n’a pas d’identité configurée | git config --global user.name "Votre Nom" et git config --global user.email "vous@exemple.com" |
Checklist de validation
Section titled “Checklist de validation”- Vous connaissez les erreurs fréquentes et leurs solutions
- Vous pouvez dépanner un problème basique sur Git
8. Cheat Sheet — Commandes essentielles
Section titled “8. Cheat Sheet — Commandes essentielles”# Vérificationgit --version
# Initialisationgit init
# Premier flux de travailgit statusgit add <fichier>git commit -m "message"
# Historiquegit loggit log --oneline
# Configurationgit config --global user.name "Votre Nom"git config --global user.email "vous@exemple.com"Checklist de validation
Section titled “Checklist de validation”- Vous avez les commandes essentielles à portée de main
- Vous pouvez reproduire ces commandes sans hésitation
9. À retenir
Section titled “9. À retenir”- Git est un système de contrôle de version distribué qui fonctionne localement (pas besoin d’Internet)
- Les commandes de base que vous devez connaître par cœur :
git --version,git init,git status,git add,git commit - Un dépôt Git se compose de votre Working Directory et du dossier
.git/ - Toujours configurer votre identité avec
git config --global user.nameetuser.emailavant votre premier commit - La Staging Area est l’étape intermédiaire entre la modification et le commit
- Vous pouvez maintenant créer un fichier, l’ajouter au staging, et réaliser un commit
10. À retenir
Section titled “10. À retenir”- Git est un système de contrôle de version distribué qui fonctionne localement (pas besoin d’Internet)
- Les commandes de base à connaître par cœur :
git --version,git init,git status,git add,git commit - La Staging Area est l’étape cruciale entre la modification et le commit
- Toujours configurer son identité (
user.name,user.email) avant le premier commit - Vérifier l’état du dépôt avec
git statusavant et après chaque opération
- validation final check
- exercise completed
- prêt pour niveau-03