Exercice 01 : Initialiser votre premier repository Git
🎯 Objectifs
À la fin de cet exercice, vous serez capable de :
- ✅ Vérifier que Git est correctement installé
- ✅ Configurer votre identité Git
- ✅ Initialiser un nouveau repository
- ✅ Faire vos premiers commits
- ✅ Consulter l'historique
Durée estimée : 15 minutes
Difficulté : ⭐☆☆☆☆ (Débutant)
Prérequis :
- Un terminal/console (Bash, PowerShell, Command Prompt)
- Accès à un éditeur de texte (notepad, nano, VS Code)
📖 Contexte
Avant de pouvoir travailler efficacement avec Git, il faut :
- S'assurer que Git est installé
- Dire à Git qui vous êtes (pour signer vos commits)
- Créer un repository local
- Apprendre le cycle : modifier → ajouter → committer
Cet exercice vous guide à travers ces étapes fondamentales.
📋 Énoncé
Vous allez créer un projet simple appelé ma-premiere-app avec Git, faire quelques commits, et vérifier que l'historique est correct.
Résultat attendu :
- Un dossier
ma-premiere-appavec.git - Au moins 3 commits visibles dans l'historique
- Une configuration Git correcte
🔧 Matériel Nécessaire
- Git : version 2.30+ (vérifiable avec
git --version) - Terminal : Bash, PowerShell, Command Prompt, ou iTerm
- Éditeur : Notepad, nano, VS Code, ou autre
- Espace disque : ~10 MB
- Temps : 20 minutes
🧭 Déroulement de l'exercice
Voici les grandes étapes à réaliser dans l'ordre. Chaque étape décrit ce que vous devez accomplir - à vous de trouver la commande. La solution complète est disponible si vous êtes bloqué.
Tâche 1 : Vérifier que Git est installé
Avant tout, confirmez que Git est disponible sur votre système et notez sa version.
Indice : Quasiment tous les outils en ligne de commande acceptent une option pour afficher leur version. Cherchez laquelle.
Vérification : Vous devez voir un numéro de version au format 2.x.x ou supérieur.
Tâche 2 : Configurer votre identité
Git a besoin de savoir qui vous êtes avant d'accepter un commit. Configurez votre nom complet et votre adresse email de manière globale (une seule fois pour tous vos projets).
Indice : Cette configuration est stockée dans un fichier global. Elle prend une sous-commande
configavec l'option--global.
Vérification : Relisez la configuration pour confirmer que votre nom et votre email sont bien enregistrés.
Tâche 3 : Créer un dossier projet et l'initialiser avec Git
Créez un dossier ma-premiere-app, entrez dedans, puis transformez-le en repository Git.
Indice : Une seule commande Git transforme un dossier ordinaire en repository. Le résultat est un dossier caché
.git.
Vérification : Listez les fichiers cachés dans votre dossier - vous devez voir .git.
Tâche 4 : Créer des fichiers et comprendre le staging
Créez un fichier README.md avec un titre, puis découvrez la différence entre un fichier non suivi (*untracked*) et un fichier prêt à être commité (*staged*).
Indice : Le cycle Git est en 3 phases : modifier → ajouter au staging → committer. Utilisez
git statusaprès chaque étape pour observer les changements d'état.
Question à se poser : Que signifie "staged" par rapport à "untracked" dans la sortie de git status ?
Vérification : Après avoir ajouté le fichier, il doit passer de *Untracked files* à *Changes to be committed*.
Tâche 5 : Faire vos 3 premiers commits
Ajoutez vos fichiers au staging area et créez 3 commits distincts avec des messages clairs : un pour README.md, un pour main.py, un pour .gitignore.
Indice : Le message de commit doit décrire CE QUE vous avez changé, pas COMMENT. Soyez précis et concis.
Vérification : Chaque commit doit générer un hash unique visible dans le terminal.
Tâche 6 : Examiner l'historique
Affichez l'historique de vos commits. Cherchez la version compacte qui affiche une seule ligne par commit.
Indice :
git loga plusieurs options d'affichage. L'une d'elles affiche chaque commit sur une seule ligne avec son hash abrégé.
Vérification : Vous devez voir exactement 3 commits dans l'historique, du plus récent au plus ancien.
� Mini-Projet : Journal de bord personnel
Vous allez créer un mini-journal de bord versionné avec Git. Le projet doit mettre en pratique toutes les notions de l'exercice.
Scénario : Vous démarrez un journal de bord de votre apprentissage DevOps. Chaque entrée est un commit.
Ce que vous devez réaliser :
- Configurez Git avec votre vrai nom et votre vrai email (si ce n'est pas déjà fait)
- Créez un dossier
journal-devopset initialisez-le en repository Git - Créez un fichier
journal.mdavec un titre et une première entrée datée du jour - Faites un premier commit avec un message qui décrit ce que vous avez ajouté
- Ajoutez une deuxième entrée dans
journal.md(une chose apprise aujourd'hui) - Faites un deuxième commit
- Créez un fichier
.gitignorecontenant*.tmpetnotes-privees/ - Faites un troisième commit pour le
.gitignore - Vérifiez l'historique en format compact
Checkpoints de validation :
git config --global user.nameaffiche votre vrai nomgit config --global user.emailaffiche votre vraie adresse email- Le dossier
journal-devops/.git/existe git log --onelineaffiche exactement 3 commits avec des messages clairsgit statusaffiche "nothing to commit, working tree clean"cat .gitignoreaffiche les deux règles d'exclusionls -lamontre les 3 fichiers :journal.md,.gitignore,.git/
�📚 Étapes Détaillées
Étape 1 : Vérifier l'Installation de Git
Objectif : S'assurer que Git est disponible sur votre système
Instructions:
- Ouvrir un terminal/console
- Windows : Appuyer sur
Win + R, tapercmdoupowershell - macOS :
Cmd + Espace, taperterminal - Linux :
Ctrl + Alt + T
- Exécuter la commande suivante :
git --version- Vérifier le résultat
Résultat attendu :
git version 2.40.0 (ou plus)Troubleshooting:
- Problème : "git : command not found" ou "git n'est pas reconnu"
- Solution : Git n'est pas installé. Télécharger depuis git-scm.com et installer
- Après installation : Redémarrer votre terminal et réessayer
Étape 2 : Configurer votre Identité Git
Objectif : Dire à Git qui vous êtes pour signer vos commits
Instructions:
- Configurer votre nom :
git config --global user.name "Votre Nom Complet"Remplacer "Votre Nom Complet" par votre vrai nom (ex: "Alice Dupont")
- Configurer votre email :
git config --global user.email "votre@email.com"Remplacer "votre@email.com" par votre adresse email
- Vérifier la configuration :
git config --global user.name
git config --global user.emailRésultat attendu :
Alice Dupont
alice.dupont@example.comTroubleshooting:
- Problème : Les variables n'apparaissent pas
- Solution : Vérifier l'orthographe de la commande (no espaces aux mauvais endroits)
- Solution : Vérifier les guillemets (doivent être droits :
", pas courbés :")
Étape 3 : Créer un Dossier Projet
Objectif : Créer l'endroit où vivra votre projet
Instructions:
- Créer un dossier :
mkdir ma-premiere-app- Entrer dans le dossier :
cd ma-premiere-app- Vérifier que vous êtes au bon endroit :
pwdRésultat attendu :
/chemin/vers/ma-premiere-appou sur Windows :
C:\Users\VotreNom\ma-premiere-appTroubleshooting:
- Problème : "Impossible de créer le dossier"
- Solution : Vérifier les permissions dans le dossier courant
- Solution : Naviguer dans un dossier où vous avez les droits (ex: Documents)
Étape 4 : Initialiser un Repository Git
Objectif : Transformer ce dossier en repository Git
Instructions:
- Initialiser Git :
git initRésultat attendu :
Initialized empty Git repository in /home/user/ma-premiere-app/.git/- Vérifier que le dossier
.gita été créé :
ls -laou sur Windows :
dirRésultat attendu :
total 12
drwxr-xr-x 3 user staff 96 Apr 9 14:30 .
drwxr-xr-x 5 user staff 160 Apr 9 14:29 ..
drwxr-xr-x 10 user staff 320 Apr 9 14:30 .gitLe dossier .git contient tout l'historique.
Étape 5 : Créer Votre Premier Fichier
Objectif : Ajouter du contenu à votre projet
Instructions:
- Créer un fichier
README.md:
echo "# Ma Première App" > README.md- Optionnel : Voir le contenu :
cat README.mdRésultat attendu :
# Ma Première AppÉtape 6 : Vérifier le Statut
Objectif : Comprendre l'état de votre repository
Instructions:
- Vérifier le statut :
git statusRésultat attendu :
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (tracking starts after first commit)Explication :
On branch main= Vous êtes sur la branche principaleUntracked files= Git voit le fichier mais ne le suit pas encoreREADME.md= Le fichier que vous venez de créer
Étape 7 : Ajouter le Fichier au Staging Area
Objectif : Préparer le fichier pour le commit
Instructions:
- Ajouter le fichier :
git add README.md- Vérifier le statut à nouveau :
git statusRésultat attendu :
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.mdExplication :
Changes to be committed= Le fichier est prêt à être committé- Le fichier est maintenant "staged" (en attente)
Étape 8 : Créer Votre Premier Commit
Objectif : Enregistrer une "photo" de votre projet
Instructions:
- Créer le commit :
git commit -m "Initialiser le projet avec README"Résultat attendu :
[main (root-commit) 3a2c8f7] Initialiser le projet avec README
1 file changed, 1 insertion(+)
create mode 100644 README.mdExplication :
[main (root-commit) 3a2c8f7]= Commit créé sur main avec un hash unique1 file changed= Un fichier a été modifié1 insertion(+)= Une ligne a été ajoutée
Étape 9 : Ajouter d'Autres Fichiers
Objectif : Faire quelques commits supplémentaires
Instructions:
- Créer un fichier
main.py:
echo "print('Hello, World!')" > main.py- Ajouter et committer :
git add main.py
git commit -m "Ajouter script Python Hello World"- Créer un fichier
.gitignore:
echo "__pycache__/" > .gitignore- Ajouter et committer :
git add .gitignore
git commit -m "Ajouter .gitignore"Résultat attendu :
[main 8b4a6c2] Ajouter script Python Hello World
1 file changed, 1 insertion(+)
create mode 100644 main.py
[main a7f3e1b] Ajouter .gitignore
1 file changed, 1 insertion(+)
create mode 100644 .gitignoreÉtape 10 : Examiner l'Historique
Objectif : Voir tous vos commits
Instructions:
- Voir l'historique complet :
git logRésultat attendu :
commit a7f3e1b...
Author: Alice Dupont <alice@example.com>
Date: Mon Apr 9 14:30:00 2026 +0200
Ajouter .gitignore
commit 8b4a6c2...
Author: Alice Dupont <alice@example.com>
Date: Mon Apr 9 14:29:50 2026 +0200
Ajouter script Python Hello World
commit 3a2c8f7...
Author: Alice Dupont <alice@example.com>
Date: Mon Apr 9 14:29:00 2026 +0200
Initialiser le projet avec README- Version compacte (plus lisible) :
git log --onelineRésultat attendu :
a7f3e1b Ajouter .gitignore
8b4a6c2 Ajouter script Python Hello World
3a2c8f7 Initialiser le projet avec READMEExplication :
- Chaque ligne = un commit
- Hash unique (ex:
a7f3e1b) = identifiant du commit - Message = ce que vous avez décrit
✅ Vérification du Résultat
Pour vérifier que vous avez réussi :
# Vérifier la configuration
git config --global user.name # Doit afficher votre nom
git config --global user.email # Doit afficher votre email
# Vérifier le repo
git log --oneline # Doit montrer 3+ commits
# Vérifier les fichiers
ls -la # Doit montrer .git, README.md, main.py, .gitignoreChecklist finale :
- ✅ Git est installé (
git --versionfonctionne) - ✅ Configuration correcte (nom et email)
- ✅ Repository créé (dossier
.gitexiste) - ✅ 3 commits visibles dans
git log --oneline - ✅ Fichiers présents : README.md, main.py, .gitignore
🎮 Défi Bonus
Défi 1 : Créer 2 commits supplémentaires
# Ajouter un fichier requirements.txt
echo "requests==2.28.0" > requirements.txt
git add requirements.txt
git commit -m "Ajouter requirements.txt avec dépendances"
# Modifier README.md
echo "## Installation" >> README.md
git add README.md
git commit -m "Ajouter section Installation au README"Défi 2 : Explorer des informations de commit
# Voir les détails d'un commit spécifique
git show 3a2c8f7
# Compter les commits
git rev-list --count HEAD
# Voir les modifications par commit
git log --stat💡 Points Clés à Retenir
- Configuration globale : Se fait une fois, puis appliquée à tous les repos
- Le cycle git : Modify → Add → Commit
- Staging area : Zone intermédiaire entre le disque et le commit
- Commit = photo : Chaque commit capture l'état complet du repo
- Messages clairs : Toujours expliquer QUOI et POURQUOI dans le message
🎯 Prochaines Étapes
- ✅ Vous savez initialiser un repo et faire des commits
- 🔜 Exercice suivant : Créer et merger des branches
- 🚀 Index des exercices : Tous les exercices
Bravo d'avoir complété le premier exercice ! 🎉