🔝 Retour au Sommaire
Un dépôt (ou "repository" en anglais, souvent abrégé "repo") est un espace où Git stocke toutes les informations sur votre projet :
- L'historique complet de toutes les modifications
- Les différentes versions de vos fichiers
- Les métadonnées (qui a fait quoi et quand)
- La configuration spécifique au projet
Pensez à un dépôt comme à un livre d'histoire de votre projet : chaque page représente un moment précis de votre travail, et vous pouvez revenir à n'importe quelle page quand vous voulez.
Il existe deux manières d'obtenir un dépôt Git :
- Initialiser un nouveau dépôt : Créer un dépôt Git dans un dossier existant ou nouveau
- Cloner un dépôt existant : Copier un dépôt qui existe déjà ailleurs (nous verrons cela dans un module ultérieur)
Dans cette section, nous allons nous concentrer sur la première méthode : créer un tout nouveau dépôt.
Commençons par créer un dossier qui contiendra notre projet. Ouvrez votre terminal et tapez :
# Créer un nouveau dossier
mkdir mon-premier-projet
# Se déplacer dans ce dossier
cd mon-premier-projetExplication :
mkdir(make directory) crée un nouveau dossiercd(change directory) vous déplace dans ce dossier
Alternative : Vous pouvez aussi créer le dossier via votre explorateur de fichiers, puis naviguer dedans avec le terminal.
Pour vérifier que vous êtes bien dans le bon dossier :
pwdCette commande affiche le chemin complet de votre dossier actuel (par exemple : /Users/marie/mon-premier-projet).
Maintenant, transformons ce simple dossier en un dépôt Git :
git initVous devriez voir un message comme :
Initialized empty Git repository in /Users/marie/mon-premier-projet/.git/
Félicitations ! Vous venez de créer votre premier dépôt Git. 🎉
La commande git init a créé un dossier caché appelé .git dans votre projet. C'est là que Git stocke toutes les informations sur votre dépôt.
Pour voir ce dossier caché :
# Sur macOS/Linux
ls -la
# Sur Windows (PowerShell)
ls -Force
# Sur Windows (Git Bash)
ls -laVous verrez un dossier .git dans la liste. Ne touchez jamais à ce dossier manuellement - Git s'en occupe pour vous.
Jetons un coup d'œil à ce que contient le dossier .git :
ls .gitVous verrez plusieurs fichiers et dossiers, notamment :
- HEAD : Pointe vers la branche actuelle
- config : Configuration spécifique à ce dépôt
- description : Description du dépôt (utilisée rarement)
- hooks/ : Scripts automatiques (nous verrons cela plus tard)
- objects/ : Base de données de tous les objets Git
- refs/ : Références aux commits (branches, tags)
Vous n'avez pas besoin de comprendre tout cela maintenant. L'important est de savoir que c'est ici que Git travaille en coulisses.
La commande la plus importante que vous utiliserez au quotidien est :
git statusRésultat :
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)
Décryptage :
- On branch main : Vous êtes sur la branche principale
- No commits yet : Aucun commit n'a encore été créé
- nothing to commit : Aucun fichier à enregistrer pour le moment
Créons un fichier simple dans notre projet :
echo "# Mon Premier Projet Git" > README.mdCette commande crée un fichier README.md avec le contenu "# Mon Premier Projet Git".
Alternative : Vous pouvez aussi créer ce fichier avec votre éditeur de texte préféré.
Retapons git status :
git statusRésultat :
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 (use "git add" to track)
Analyse :
- Git a détecté le nouveau fichier
README.md - Il est marqué comme "Untracked" (non suivi) : Git voit le fichier mais ne le surveille pas encore
- Git nous suggère d'utiliser
git addpour le suivre
Avant de continuer, il est crucial de comprendre que Git fonctionne en trois étapes :
C'est votre dossier de projet normal où vous créez et modifiez des fichiers. C'est là où vous travaillez au quotidien.
C'est une zone intermédiaire où vous préparez les fichiers que vous voulez enregistrer. Imaginez-la comme un panier avant la caisse au supermarché : vous choisissez ce que vous voulez acheter.
C'est l'historique permanent de votre projet. Une fois qu'un fichier est "commité", il est sauvegardé dans l'historique.
Schéma conceptuel :
Working Directory → Staging Area → Repository
(modifier) (git add) (git commit)
Pour dire à Git de commencer à suivre notre fichier et de le préparer pour un commit :
git add README.mdVérifions l'état :
git statusRésultat :
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
Changements :
- Le fichier est maintenant dans "Changes to be committed" (changements à commiter)
- Il est en vert (si vous avez activé les couleurs)
- Il est prêt à être enregistré dans l'historique
Créons quelques fichiers supplémentaires :
echo "print('Hello, Git!')" > hello.py
echo "console.log('Hello, Git!');" > hello.jsPour ajouter tous les fichiers d'un coup :
git add .Le point . signifie "tous les fichiers du dossier actuel".
Alternatives :
# Ajouter tous les fichiers
git add --all
# Ajouter tous les fichiers Python
git add *.py
# Ajouter plusieurs fichiers spécifiques
git add file1.txt file2.txtUn commit est comme une photo instantanée de votre projet à un moment donné. C'est un point de sauvegarde dans l'historique.
git commit -m "Premier commit : ajout des fichiers initiaux"Explication :
git commit: crée un nouveau commit-m: permet de spécifier le message directement- Entre guillemets : le message qui décrit ce que vous avez fait
Résultat :
[main (root-commit) a1b2c3d] Premier commit : ajout des fichiers initiaux
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 hello.js
create mode 100644 hello.py
Félicitations ! Vous venez de créer votre premier commit ! 🎊
git statusRésultat :
On branch main
nothing to commit, working tree clean
Interprétation :
- working tree clean : Tous vos fichiers sont à jour et sauvegardés
- Aucune modification en attente
Pour afficher l'historique de vos commits :
git logRésultat :
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
Author: Votre Nom <votre.email@example.com>
Date: Wed Oct 15 14:30:00 2025 +0200
Premier commit : ajout des fichiers initiaux
Décryptage :
- commit a1b2c3d... : L'identifiant unique du commit (hash SHA-1)
- Author : Qui a fait ce commit (c'est pour ça que la configuration du nom/email était importante !)
- Date : Quand le commit a été fait
- Le message du commit
Pour un affichage plus compact :
git log --onelineRésultat :
a1b2c3d Premier commit : ajout des fichiers initiaux
Pour voir l'historique sous forme de graphe :
git log --oneline --graph --allPour l'instant, avec un seul commit, ce n'est pas très impressionnant, mais cela deviendra très utile plus tard.
Pratiquons en faisant un autre commit. Modifions un fichier :
Ajoutons du contenu au README :
echo "" >> README.md
echo "Ce projet est un exemple pour apprendre Git." >> README.mdOu ouvrez README.md dans votre éditeur et ajoutez du texte.
git statusRésultat :
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
Git a détecté que README.md a été modifié.
git diffCette commande montre exactement ce qui a changé :
diff --git a/README.md b/README.md
index e7b5e4c..d5a4b3c 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
# Mon Premier Projet Git
+
+Ce projet est un exemple pour apprendre Git.Les lignes avec + sont les ajouts.
git add README.md
git commit -m "Ajout de la description du projet"git log --onelineRésultat :
b2c3d4e Ajout de la description du projet
a1b2c3d Premier commit : ajout des fichiers initiaux
Vous avez maintenant deux commits dans votre historique !
Vous pouvez combiner git add et git commit pour les fichiers déjà suivis :
git commit -am "Message du commit"Attention : Le -a ajoute automatiquement tous les fichiers déjà suivis qui ont été modifiés. Il n'ajoute pas les nouveaux fichiers non suivis.
Un bon message de commit doit :
- Être concis mais descriptif
- Commencer par un verbe à l'impératif ou à l'infinitif
- Expliquer quoi et pourquoi, pas comment
Bons exemples :
- "Ajout de la fonction de connexion utilisateur"
- "Correction du bug d'affichage sur mobile"
- "Mise à jour de la documentation"
Mauvais exemples :
- "Update" (trop vague)
- "Modifications" (pas assez précis)
- "J'ai changé des trucs" (pas professionnel)
Faites des commits petits et ciblés :
- Un commit = une modification logique
- Évitez les commits qui mélangent plusieurs fonctionnalités
- Plus facile de revenir en arrière si besoin
Bon : Trois commits séparés pour "Ajout du formulaire", "Validation des données", "Style du formulaire"
Moins bon : Un seul gros commit "Ajout du formulaire complet"
N'attendez pas d'avoir terminé toute une fonctionnalité pour commiter. Commitez à chaque étape significative :
- Cela crée un historique détaillé
- Vous pouvez revenir à n'importe quelle étape
- Moins de risque de perdre du travail
git showCela affiche les détails du dernier commit (changements inclus).
Pour voir un commit spécifique :
git show a1b2c3dRemplacez a1b2c3d par les premiers caractères du hash du commit qui vous intéresse.
git log -pCette commande affiche l'historique avec le détail des modifications de chaque commit.
Voici le cycle que vous répéterez constamment :
# 1. Vérifier l'état
git status
# 2. Faire des modifications
# (éditer vos fichiers)
# 3. Voir ce qui a changé
git diff
# 4. Ajouter à la staging area
git add fichier.txt
# ou
git add .
# 5. Vérifier ce qui est prêt à être commité
git status
# 6. Commiter
git commit -m "Message descriptif"
# 7. Voir l'historique
git log --oneline1. Modifier des fichiers (Working Directory)
↓
2. git add (vers Staging Area)
↓
3. git commit (vers Repository)
↓
4. Répéter
Voici les commandes que vous venez d'apprendre et que vous utiliserez quotidiennement :
| Commande | Description |
|---|---|
git init |
Initialiser un nouveau dépôt Git |
git status |
Voir l'état actuel du dépôt |
git add <fichier> |
Ajouter un fichier à la staging area |
git add . |
Ajouter tous les fichiers modifiés |
git commit -m "message" |
Créer un commit avec un message |
git log |
Voir l'historique des commits |
git log --oneline |
Historique condensé |
git diff |
Voir les modifications non stagées |
git show |
Voir les détails du dernier commit |
Vous avez appris à :
- Créer un dépôt Git avec
git init - Comprendre les trois états : Working Directory, Staging Area, Repository
- Ajouter des fichiers avec
git add - Créer des commits avec
git commit - Explorer l'historique avec
git log - Vérifier l'état avec
git status
Vous maîtrisez maintenant le workflow de base de Git ! C'est la fondation sur laquelle tout le reste repose. Dans les prochains modules, nous approfondirons ces concepts et découvrirons des fonctionnalités plus avancées.
Le Module 1 est terminé ! Dans le Module 2, nous explorerons en détail les concepts fondamentaux de Git et comprendrons mieux son architecture interne.