Outils & qualité · 4 mondes · 12 étapes
Git & GitHub
Versionner, brancher, réparer et collaborer, commande par commande.
Progression
0 %
0/12 étapes terminées
Intermédiaire · 8 min de lecture
Réparer avec Git
Chaque erreur a sa commande
1Définition
Avant un commit : git restore (annuler une modification) et git restore --staged (retirer de la préparation). Après un commit local : git commit --amend (corriger le dernier). Après un commit publié : git revert (un nouveau commit qui défait l'ancien), jamais de réécriture.
2Principes fondamentaux
01
Local : on peut réécrire
amend, reset, tant que personne n'a le commit.
02
Publié : on ajoute
revert crée un commit inverse, l'historique reste vrai.
03
Un secret commité est compromis
On le change, même après l'avoir retiré.
04
Lire git status
Il indique les commandes pour défaire.
3Exemples pratiques
Défaire le dernier commit local, en gardant les fichiers
1git reset --soft HEAD~1 # le commit disparaît, les modifications restent préparéesPratique pour refaire un commit autrement, tant qu'il n'est pas poussé.
Retrouver un commit « perdu »
1git reflog # tout ce que HEAD a pointé récemmentMême après un reset, les commits restent récupérables pendant un moment.
4Erreurs courantes
Corriger un commit publié
À éviter
git commit --amend puis git push --forceÀ faire
git revertPourquoi : Les autres ont l'ancien commit : les historiques divergent.
Croire qu'un secret supprimé est sauvé
À éviter
git rm .env && git commitÀ faire
Révoquer le secret, puis le retirerPourquoi : Il reste dans l'historique et sur GitHub.
reset --hard par réflexe
À éviter
git reset --hardÀ faire
git status d'abord, puis la commande cibléePourquoi : Les modifications non commitées sont perdues pour de bon.
5Subtilités à connaître
- ◆
git restoreagit sur la copie de travail ;--stagedsur la préparation ; les deux combinés remettent un fichier comme au dernier commit. - ◆Annuler une fusion avec revert demande de préciser le parent à garder (
-m 1). - ◆Des outils comme git-filter-repo réécrivent tout l'historique pour en retirer un fichier : une opération lourde, coordonnée avec toute l'équipe.
6Vérifie ta compréhension
Question 1/3
Score 0
Retirer un fichier de la préparation :
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.