Sobes.tech
Junior — Middle

Pouvez-vous énumérer et expliquer les principaux types de commandes git reset?

sobes.tech IA

Réponse de l'IA

La commande git reset est utilisée pour annuler des modifications et déplacer le pointeur HEAD dans Git. Les principaux types de git reset diffèrent par leur impact sur l’index et le répertoire de travail :

  1. git reset --soft <commit>

    • Déplace HEAD vers le commit spécifié.
    • Les modifications restent dans l’index et le répertoire de travail.
    • Utilisé si vous souhaitez annuler des commits mais conserver les modifications pour un nouveau commit.
  2. git reset --mixed <commit> (par défaut)

    • Déplace HEAD vers le commit spécifié.
    • Les modifications sont retirées de l’index (staged), mais restent dans le répertoire de travail.
    • Permet d’annuler la mise en scène des modifications, sans les supprimer des fichiers.
  3. git reset --hard <commit>

    • Déplace HEAD vers le commit spécifié.
    • Réinitialise l’index et le répertoire de travail à l’état de ce commit.
    • Toutes les modifications non sauvegardées seront perdues.

Exemple :

# Annuler le dernier commit, en conservant les modifications dans l’index
git reset --soft HEAD~1

# Annuler le dernier commit et retirer les modifications de l’index, mais les laisser dans les fichiers
git reset --mixed HEAD~1

# Annuler complètement le dernier commit et les modifications
git reset --hard HEAD~1

Il est important d’utiliser --hard avec précaution pour ne pas perdre de données importantes.