Annuler les modifications dans Git
-
Utilisez la commande
git log
pour vérifier l’historique des commits dans Git -
Utilisez la commande
git clean
pour annuler les modifications dans Git -
Utilisez la commande
git revert
pour annuler les modifications dans Git -
Utilisez la commande
git reset
pour annuler les modifications dans Git
Ce didacticiel couvre les différentes commandes permettant d’annuler les modifications apportées à vos référentiels locaux et distants. Ces commandes incluent :
git clean
git reset
git revert
Utilisez la commande git log
pour vérifier l’historique des commits dans Git
Voyons d’abord comment nous vérifions l’historique de nos commits. Nous vérifions cela à l’aide de la commande git log
.
pc@JOHN MINGW64 ~/Git (main)
$ git log
commit 195e5c362975354d62ebc469da2e3cd276c7da03 (HEAD -> main)
Author: John <wachirajohnie11@gmail.com>
Date: Mon Feb 21 12:11:12 2022 +0300
commit 7b19db4b35c1ca15e5ecb8df1f805d44aad62e5f
Author: John <wachirajohnie11@gmail.com>
Date: Mon Feb 21 10:09:31 2022 +0300
first commit
La commande affiche uniquement l’historique de votre branche de travail. Pour vérifier toutes les branches, utilisez la commande ci-dessous.
git log --branches=*
Utilisez la commande git checkout
pour afficher un commit spécifique, comme indiqué ci-dessous.
Vous pouvez désormais accéder aux fichiers sans altérer l’état actuel de votre projet. Utilisez la commande git checkout main
pour revenir à l’espace de travail du projet en cours.
Utilisez la commande git clean
pour annuler les modifications dans Git
Nous utilisons la commande git clean
pour annuler les modifications sur les fichiers non suivis. Vous ne pouvez pas annuler une commande git clean
.
-
L’option
git clean -n
agit comme une commande d’essai. Il affiche uniquement les fichiers non suivis mais ne les supprime pas.Exemple:
pc@JOHN MINGW64 ~/Git (main) $ git clean -n Would remove Hello world.txt Would remove Test1.txt
-
La commande
git clean --force
supprime tous les fichiers et dossiers non suivis de votre répertoire de travail. Vous pouvez utiliser la commande.gitignore
pour lancer des exceptions.Exemple:
pc@JOHN MINGW64 ~/Git (main) $ git clean --force Removing Hello world.txt Removing Test1.txt
Vérifions si les fichiers sont dans notre répertoire.
pc@JOHN MINGW64 ~/Git (main) $ git status On branch main nothing to commit, working tree clean
La sortie montre une branche propre. La commande a supprimé les fichiers avec succès.
Utilisez la commande git revert
pour annuler les modifications dans Git
La commande git revert
agit sur les modifications apportées par un commit et les écrase. Nous l’utilisons pour revenir à un point et apporter des modifications.
Utilisons la commande pour changer notre premier commit
.
git revert first commit
#[first commit [7b19db4] Revert 'first commit'
#1 file changed, 1 deletion(-)
Vous devez passer une référence de validation.
Utilisez la commande git reset
pour annuler les modifications dans Git
La dernière commande que nous aborderons est le git reset
. Cette commande opère sur le HEAD
.
-
L’option
git reset --hard
modifie le commit spécifié. Cependant, toutes les modifications apportées à l’index de staging et à votre répertoire de travail correspondent aux modifications. Tous les commits mis en scène sont perdus dans le processus.Exemple:
$ git reset --hard HEAD is now at 78129a6 Revert "$first commit"
La commande exécute une réinitialisation matérielle du
HEAD
. -
La commande
git reset --mixed
enregistre les modifications de l’index de staging dans votre répertoire de travail.Exemple:
$ git reset --mixed Unstaged changes after reset: M .bash_history M text.txt.txt M text.txt.txt.bak
La commande a enregistré les modifications annulées dans notre répertoire de travail à partir de la sortie. Vérifions le statut de notre branch.
$ git status On branch main Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: .bash_history modified: text.txt.txt modified: text.txt.txt.bak Untracked files: (use "git add <file>..." to include in what will be committed) .bash_history.bak no changes added to commit (use "git add" and/or "git commit -a")
-
La commande
git reset --soft
ne modifie que l’historique des commits. Le pointeur par défaut est toujours leHEAD
.Exemple:
pc@JOHN MINGW64 ~/Git (main) $ git reset --soft pc@JOHN MINGW64 ~/Git (main) $ git status On branch main Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: .bash_history modified: text.txt.txt modified: text.txt.txt.bak Untracked files: (use "git add <file>..." to include in what will be committed) .bash_history.bak no changes added to commit (use "git add" and/or "git commit -a")
D’après la sortie ci-dessus, notre répertoire de travail et notre index de staging sont intacts. Utilisez le hachage de votre commit pour réinitialiser un commit spécifique.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn