Aller au contenu

Comparaison des commandes revert/reset/restore

Aspectgit resetgit revertgit restore
HistoriqueModifiePréserveNe touche pas
Nouveaux commitsNonOuiNon
PortéeCommits/fichiersCommitsFichiers
Utilisation principaleBranches localesBranches partagéesFichiers de travail
Niveau de risqueElevéFaibleMoyen
RéversibiliitéDifficileFacileVariable
Cas d’usage typiqueNettoyer l’historiqueAnnuler commits publiésRestaurer fichiers

Exemples d’utilisations courants

Action souhaitéeCommande recommandée
Annuler le dernier commit (local)git reset HEAD~1
Annuler un commit publiégit revert <commit-hash>
Désindexer des modificationsgit restore --staged <file>
Annuler les modifications d’un fichiergit restore --source=<commit> <file>

Bonnes Pratiques revert/reset/restore

  1. Pour les branches partagées :

    • Utilisez git revert pour annuler des commits

    • Évitez git reset qui modifie l’historique

  2. Pour le travail local :

    • git reset pour nettoyer l’historique

    • git restore pour gérer les fichiers individuels

  3. Précautions :

    • Faites des sauvegardes avant d’utiliser git reset --hard

    • Vérifiez toujours avec git status avant d’utiliser git restore

    • Testez git restore avec -staged avant de perdre des modifications

  4. Ordre de préférence pour annuler des changements :

    • Modifications non stagées : git restore

    • Modifications stagées : git restore --staged

    • Commits locaux : git reset

    • Commits publiés : git revert