Annulation d’un Commit Spécifique
git revert
Pour annuler un commit spécifique, utiliser la commande git revert.
Cette commande crée un nouveau commit qui annule les modifications introduites par le commit spécifié.
Syntaxe de base :
git revert <commit-hash>
Au lieu d'utiliser HEAD (qui cible le dernier commit), spécifier le hash du commit (ID du commit) à annuler en remplaçant <commit-hash> par la valeur réelle du hash.
Plus d'informations sur les Hashs
Chaque commit possède un identifiant unique — une chaîne hexadécimale de 40 caractères composée de chiffres (0–9) et de lettres (a–f). Cet identifiant est appelé un hash. Afficher maintenant le dernier commit :
Voici son hash :
1b00736255dca7d78659a9971d0c30fba0eb3075
Vous aurez un hash différent pour ce commit pour la raison expliquée ci-dessous.
Le hash du commit est calculé à l'aide de l'algorithme SHA-1 à partir des informations suivantes :
- Message du commit ;
- Date ;
- Auteur ;
- Instantané de l'arborescence de travail ;
- Hash du commit parent (ou des commits parents s'il y en a plusieurs).
Si le commit est le premier du dépôt, alors le hash du commit parent n'est apparemment pas calculé.
Comme toutes ces informations de commit sont utilisées pour calculer son hash, l'utilisation des hashes comme identifiants de commit garantit la cohérence du dépôt. De plus, la probabilité que deux commits différents aient le même hash (la probabilité de collision) est extrêmement faible, il est donc très improbable que cela se produise par hasard.
En résumé, si quoi que ce soit est modifié dans le commit, son hash changera également. Cela signifie qu'en cas de corruption des données pour une raison quelconque, Git peut utiliser le hash pour l'identifier.
Lors de la modification d’un commit, l’identifiant du commit change, c’est pourquoi il est préférable de ne pas utiliser la commande git commit --amend lors du travail avec des dépôts distants.
Exemple de flux de travail
Avant de décider quel commit annuler, afficher les quatre derniers commits :
Un commit a été effectué où le fichier recipe.txt a été ajouté.
Annuler ce commit pour en créer un nouveau qui annule ces modifications et supprime effectivement le fichier.
Dans cet exemple, le hash du commit est :
043b634d76a7a7744757350512b6367417c29e0
Votre hash de commit sera différent. Maintenant, annulez ce commit :
Remplacez ce hash par le vôtre.
Encore une fois, l’éditeur de texte par défaut s’ouvre avec le message de commit par défaut pour l’annulation. Laisser le message inchangé.
Ensuite, fermez correctement l’éditeur de texte et affichez les modifications apportées dans le dernier commit :
7 suppressions ont eu lieu, ce qui signifie que les sept lignes du fichier ont été supprimées. Vérifiez maintenant que le fichier lui-même a été supprimé en listant tous les fichiers et répertoires non cachés dans le répertoire du projet :
Le fichier recipe.txt a été supprimé avec succès.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.57
Annulation d’un Commit Spécifique
Glissez pour afficher le menu
git revert
Pour annuler un commit spécifique, utiliser la commande git revert.
Cette commande crée un nouveau commit qui annule les modifications introduites par le commit spécifié.
Syntaxe de base :
git revert <commit-hash>
Au lieu d'utiliser HEAD (qui cible le dernier commit), spécifier le hash du commit (ID du commit) à annuler en remplaçant <commit-hash> par la valeur réelle du hash.
Plus d'informations sur les Hashs
Chaque commit possède un identifiant unique — une chaîne hexadécimale de 40 caractères composée de chiffres (0–9) et de lettres (a–f). Cet identifiant est appelé un hash. Afficher maintenant le dernier commit :
Voici son hash :
1b00736255dca7d78659a9971d0c30fba0eb3075
Vous aurez un hash différent pour ce commit pour la raison expliquée ci-dessous.
Le hash du commit est calculé à l'aide de l'algorithme SHA-1 à partir des informations suivantes :
- Message du commit ;
- Date ;
- Auteur ;
- Instantané de l'arborescence de travail ;
- Hash du commit parent (ou des commits parents s'il y en a plusieurs).
Si le commit est le premier du dépôt, alors le hash du commit parent n'est apparemment pas calculé.
Comme toutes ces informations de commit sont utilisées pour calculer son hash, l'utilisation des hashes comme identifiants de commit garantit la cohérence du dépôt. De plus, la probabilité que deux commits différents aient le même hash (la probabilité de collision) est extrêmement faible, il est donc très improbable que cela se produise par hasard.
En résumé, si quoi que ce soit est modifié dans le commit, son hash changera également. Cela signifie qu'en cas de corruption des données pour une raison quelconque, Git peut utiliser le hash pour l'identifier.
Lors de la modification d’un commit, l’identifiant du commit change, c’est pourquoi il est préférable de ne pas utiliser la commande git commit --amend lors du travail avec des dépôts distants.
Exemple de flux de travail
Avant de décider quel commit annuler, afficher les quatre derniers commits :
Un commit a été effectué où le fichier recipe.txt a été ajouté.
Annuler ce commit pour en créer un nouveau qui annule ces modifications et supprime effectivement le fichier.
Dans cet exemple, le hash du commit est :
043b634d76a7a7744757350512b6367417c29e0
Votre hash de commit sera différent. Maintenant, annulez ce commit :
Remplacez ce hash par le vôtre.
Encore une fois, l’éditeur de texte par défaut s’ouvre avec le message de commit par défaut pour l’annulation. Laisser le message inchangé.
Ensuite, fermez correctement l’éditeur de texte et affichez les modifications apportées dans le dernier commit :
7 suppressions ont eu lieu, ce qui signifie que les sept lignes du fichier ont été supprimées. Vérifiez maintenant que le fichier lui-même a été supprimé en listant tous les fichiers et répertoires non cachés dans le répertoire du projet :
Le fichier recipe.txt a été supprimé avec succès.
Merci pour vos commentaires !