Bien sûr, je serais ravi de vous fournir une explication détaillée sur la façon de faire marche arrière sur les modifications dans Git. Lorsque vous travaillez avec Git, il est essentiel de savoir comment annuler ou revenir en arrière sur les modifications que vous avez apportées à votre code. Cela peut être nécessaire pour diverses raisons, telles que la correction d’une erreur, l’annulation de modifications indésirables ou la restauration d’une version précédente de votre projet. Git offre plusieurs façons de faire cela, en fonction de la nature des modifications que vous souhaitez annuler et de l’état de votre dépôt.
La méthode la plus courante pour annuler les modifications dans Git est d’utiliser la commande git revert
ou git reset
. Chacune de ces commandes a ses propres implications et est utilisée dans des situations spécifiques.

La solution définitive pour raccourcir les liens et gérer vos campagnes digitales de manière professionnelle.
• Raccourcissement instantané et rapide des liens
• Pages de profil interactives
• Codes QR professionnels
• Analyses détaillées de vos performances digitales
• Et bien plus de fonctionnalités gratuites !
-
git revert
:
Lorsque vous utilisezgit revert
, Git crée un nouveau commit qui annule les modifications apportées par un commit spécifique tout en préservant l’historique de votre dépôt. Cela signifie que les modifications indésirables sont annulées sans modifier l’historique des commits existants. C’est utile lorsque vous travaillez sur un projet partagé avec d’autres développeurs et que vous ne voulez pas modifier l’historique des commits.Pour utiliser
git revert
, vous devez spécifier le commit que vous souhaitez annuler. Par exemple:bashgit revert
Cette commande créera un nouveau commit qui annule les modifications apportées par le commit spécifié.
-
git reset
:
En revanche,git reset
est utilisé pour annuler les modifications en modifiant l’historique des commits. Lorsque vous utilisezgit reset
, vous pouvez revenir à un état précédent de votre dépôt en supprimant certains commits et en déplaçant la branche vers un commit antérieur. Cela signifie que les commits annulés seront supprimés de l’historique de votre dépôt.Il existe plusieurs options pour
git reset
, mais les plus couramment utilisées sont:git reset --soft
: Cela annulera les commits tout en conservant les modifications dans l’index. Cela signifie que les fichiers seront marqués comme modifiés et attendront d’être ajoutés à un nouveau commit.git reset --mixed
: Cela annulera les commits et déplacera les modifications dans le répertoire de travail. Les modifications seront toujours présentes, mais non validées, ce qui signifie qu’elles devront être ajoutées et validées à nouveau avant d’être incluses dans de nouveaux commits.git reset --hard
: Cela annulera complètement les commits et supprimera toutes les modifications associées. C’est une opération irréversible, donc à utiliser avec prudence.
Voici comment vous pouvez utiliser
git reset
:bashgit reset --soft HEAD~1
Cette commande annulera le dernier commit tout en conservant les modifications dans l’index, vous permettant de les inclure dans un nouveau commit.
bashgit reset --mixed HEAD~1
Cette commande annulera également le dernier commit, mais déplacera les modifications dans le répertoire de travail, prêtes à être incluses dans un nouveau commit.
bashgit reset --hard HEAD~1
Cette commande annulera complètement le dernier commit et supprimera toutes les modifications associées.
Il est important de noter que l’utilisation de git reset --hard
peut entraîner la perte permanente de données, donc elle doit être utilisée avec une grande prudence, surtout si vous n’êtes pas sûr des conséquences. Il est toujours recommandé de sauvegarder vos modifications importantes avant d’utiliser cette commande.
En résumé, git revert
est utilisé pour annuler les modifications tout en préservant l’historique des commits, tandis que git reset
est utilisé pour annuler les modifications en modifiant l’historique des commits. Choisissez la méthode qui convient le mieux à votre situation et assurez-vous de comprendre les implications de chaque commande avant de les utiliser.
Plus de connaissances
Bien sûr, plongeons un peu plus dans chaque méthode et examinons quelques scénarios courants où elles pourraient être utilisées.
git revert
:
Lorsque vous utilisez git revert
, vous créez un nouveau commit qui annule les modifications d’un commit spécifique tout en conservant l’historique des commits. Cette approche est utile dans les situations où vous souhaitez annuler des modifications sans modifier l’historique existant, ce qui est particulièrement important lorsque vous travaillez sur un projet partagé avec d’autres contributeurs.
Utilisation de git revert
:
Supposons que vous ayez un historique de commits comme suit :
cssA -- B -- C -- D (HEAD)
Vous remarquez un bug dans le commit C et souhaitez l’annuler sans modifier l’historique des commits. Vous pouvez utiliser git revert
comme suit :
bashgit revert C
Cela créera un nouveau commit E qui annule les modifications introduites par le commit C :
mathematicaA -- B -- C -- D -- E (HEAD)
Maintenant, votre historique des commits reflète l’annulation des modifications indésirables introduites par le commit C, sans altérer les commits précédents.
git reset
:
Contrairement à git revert
, git reset
est utilisé pour annuler les modifications en modifiant l’historique des commits. Cette approche est plus radicale car elle modifie l’historique existant en déplaçant la branche vers un commit antérieur.
Utilisation de git reset
:
Prenons le même historique de commits que précédemment :
cssA -- B -- C -- D (HEAD)
Si vous souhaitez annuler le dernier commit (D) et modifier l’historique des commits, vous pouvez utiliser git reset
comme suit :
bashgit reset --soft HEAD~1
Cela déplacera simplement votre pointeur de branche vers le commit précédent, en annulant le dernier commit, mais en conservant les modifications dans l’index :
cssA -- B -- C (HEAD)
\
D
Si vous utilisez git reset --mixed HEAD~1
, les modifications seront déplacées dans le répertoire de travail plutôt que d’être conservées dans l’index. Et avec git reset --hard HEAD~1
, les modifications et le dernier commit seront complètement supprimés :
cssA -- B -- C (HEAD)
Scénarios d’utilisation:
-
Annulation de commits locaux:
Lorsque vous avez réalisé des commits indésirables dans votre dépôt local et que vous souhaitez simplement les annuler,git reset
peut être une bonne option. -
Correction d’une erreur dans un commit publié:
Si vous avez déjà poussé un commit erroné dans un dépôt partagé et que vous souhaitez le corriger sans modifier l’historique,git revert
est la méthode recommandée. -
Réinitialisation de votre branche à un état précédent:
Si vous avez besoin de réinitialiser votre branche à un état antérieur tout en conservant les modifications pour une réévaluation ultérieure,git reset
avec l’option appropriée est l’outil à utiliser. -
Annulation de plusieurs commits:
git reset
est plus adapté lorsque vous devez annuler plusieurs commits en même temps, car vous pouvez spécifier le nombre de commits à annuler.
En résumé, choisir entre git revert
et git reset
dépend de vos besoins spécifiques et de la manière dont vous souhaitez gérer l’historique de votre dépôt Git. Assurez-vous de comprendre les implications de chaque méthode avant de les utiliser dans votre workflow de développement.