Vos premiers commits
init, status, add, commit, log et diff en conditions réelles.
Objectifs
À la fin de cette leçon, vous saurez :
- initialiser un dépôt avec
git init; - observer l'état du projet avec
status; - sélectionner et enregistrer des modifications (
add,commit) ; - lire l'historique (
log) et les différences (diff).
🔗 Pour vous rafraîchir la mémoire : codes de retour ($?, &&, ||) · redirections et pipes
Initialiser le dépôt
mkdir mon-projet && cd mon-projet
git init
git init crée le dossier caché .git/ : c'est là que vivent l'historique et la configuration. Votre dossier devient un dépôt Git — rien d'autre ne change pour vos fichiers.
Observer avant d'agir
Créez un fichier puis regardez :
echo "# Mon projet" > README.md
git status
Git répond : fichier non suivi (untracked). Trois états possibles pour un fichier :
| État | Signification |
|---|---|
| untracked | jamais enregistré dans Git |
| modified | suivi, mais changé depuis le dernier commit |
| staged | sélectionné pour le prochain commit |
Enregistrer une photo
git add README.md # place le fichier en staging
git status # il apparaît en vert (staged)
git commit -m "Premier commit : README"
Le message entre guillemets décrit le pourquoi du changement. Convention utile : une première ligne courte au présent (« Ajoute la structure de dossiers »), détails ensuite si besoin.
Ajoutons une seconde modification pour voir le cycle complet :
echo "Un cursus pour apprendre." >> README.md
git diff # montre ce qui a changé AVANT add
git add README.md
git diff --staged # montre ce qui partira dans le commit
git commit -m "Complète la description du projet"
Lire l'historique
git log --oneline
Sortie type :
a1b2c3d Complète la description du projet
9f8e7d6 Premier commit : README
Chaque ligne : hash abrégé + message. git log complet ajoute auteur, date et hash intégral. Quitter avec q.
Le réflexe professionnel
git status avant chaque action, git log --oneline après. Ces deux commandes sont gratuites, sans risque, et vous évitent 90 % des surprises.
Exercice
- Initialisez un dépôt
carnet-de-bordcontenant un fichierjour-01.md. - Faites deux commits successifs sur ce fichier.
- Affichez l'historique compact et retrouvez le hash du premier commit.
- Modifiez le fichier, exécutez
git diffet décrivez ce qu'il affiche.
Résumé
git inittransforme un dossier en dépôt.- Cycle de base : modifier →
add→commit, observé viastatusetdiff. - Un bon message dit pourquoi ; le code dit déjà quoi.
Correction disponibleCherchez d’abord par vous-même.Voir la correction
Correction
Réponses détaillées
Exercice 4. git diff affiche les lignes supprimées préfixées - et ajoutées préfixées +, par rapport au dernier commit. Après git add, il n'affiche plus rien : utilisez git diff --staged.
Question piège à retenir : git add n'enregistre rien définitivement — il met en scène le prochain commit. Seul git commit écrit dans l'historique.