Vous avez un problème avec Git et vous cherchez la solution rapidement ? Cette section regroupe 7 guides opérationnels, organisés par symptôme. Pas de théorie inutile : chaque guide part d’un message d’erreur ou d’une situation concrète et donne la solution étape par étape.
La bonne nouvelle : Git ne supprime presque rien. Les commits,
branches et stashs que vous croyez perdus restent accessibles via
git reflog, généralement 90 jours — mais les entrées devenues
injoignables après un commit --amend ou un rebase expirent souvent
au bout de 30 jours (gc.reflogExpireUnreachable). Avant toute
opération de récupération,
trois commandes permettent de cerner la situation :
git status— état actuel du dépôt (modifié, stagé, en conflit)git log --oneline -10— les 10 derniers commits de la branchegit reflog— tout ce que Git a enregistré ces dernières heures
Trouvez votre problème
Section intitulée « Trouvez votre problème »| Symptôme | Guide |
|---|---|
| « Mon message de commit est faux » / « J’ai oublié un fichier » | Annuler et corriger des commits |
| « J’ai commité sur main au lieu de ma branche » | Commit sur la mauvaise branche |
| « Git me dit CONFLICT » | Résoudre les conflits de merge |
« ! [rejected] quand je push » | Débloquer un push rejeté |
| « Le fichier est dans .gitignore mais Git le suit toujours » | Nettoyer l’historique et les fichiers |
| « J’ai supprimé une branche par erreur » / « J’ai perdu des commits » | Récupérer des données perdues |
| « Quelque chose ne marche plus, je ne sais pas depuis quand » | Diagnostiquer des problèmes |
Guides de cette section
Section intitulée « Guides de cette section »Comprendre pour mieux corriger
Section intitulée « Comprendre pour mieux corriger »La majorité des erreurs Git tombent dans trois catégories :
Vous avez modifié des données non partagées (commits locaux, branches
non pushées). Récupération sans risque : reset, amend, rebase
sont vos alliés.
Vous avez modifié des données déjà partagées (commits pushés sur
origin). La récupération passe par revert (crée un commit inverse,
sans réécriture) ou par push --force-with-lease si toute l’équipe est
prévenue. Ne jamais reset --hard sur une branche partagée sans
coordination.
Vous avez cru supprimer quelque chose (branche effacée, reset --hard,
stash perdu). Tout est dans le reflog — consultez-le avant de paniquer.
À retenir
Section intitulée « À retenir »- Ne paniquez jamais : Git ne jette presque rien — le reflog
conserve généralement 90 jours d’historique (30 jours pour les
entrées devenues injoignables après
amendourebase) git pull --rebaserésout 90% des push rejetésgit commit --amendcorrige le dernier commit (message ou fichier oublié)git revertannule un commit pushé en créant un commit inversegit reflogest votre machine à remonter le temps — premier réflexe quand quelque chose disparaît- Créez une branche de sauvegarde avant toute opération risquée :
git branch backup-avant-manipne coûte rien - Ces guides renvoient vers les cours (Modules 1-6) pour la théorie détaillée