Git Revert Multiple Commits
-
Utilisation de
git revert
pour annuler plusieurs commits dans Git -
Utilisation de
git reset
pour annuler plusieurs commits dans Git
Dans ce tutoriel, nous verrons comment annuler plusieurs commits dans Git.
Dans Git, nous avons peut-être fait de nombreux commits pour le développement de certaines fonctionnalités ou commis quelques corrections de bogues.
Nous pouvons maintenant décider de jeter ce travail. Ainsi, pour ramener le référentiel à l’état avant que ces modifications ne soient effectuées, nous devons annuler les multiples commits effectués.
Nous pouvons utiliser la commande git revert
pour annuler plusieurs commits dans Git.
Une autre façon d’annuler plusieurs commits consiste à utiliser la commande git reset
.
Nous allons maintenant illustrer les deux par un exemple.
Utilisation de git revert
pour annuler plusieurs commits dans Git
Supposons que nous ayons effectué plusieurs commits pour quelques corrections de bogues.
Nous pouvons voir ces commits dans le journal de Git, comme suit.
$ git log --oneline
17b787d bug3 fixed
1fefb57 bug2 fixed
8b3560b bug1 fixed
784065c feature1 developed
...
Maintenant, nous décidons d’éliminer ces corrections de bogues et de rétablir l’état du référentiel avant l’état bug1 fixed
.
Ainsi, nous pouvons utiliser la commande git revert
avec l’option --no-commit
. La syntaxe de la commande est git revert --no-commit <commit>
.
Ainsi, pour annuler les trois commits des corrections de bogues effectuées, nous devons procéder comme suit.
$ git revert --no-commit 17b787d784065c
$ git revert --no-commit 1fefb57
$ git revert --no-commit 8b3560b
Ainsi, le dépôt dans Git est maintenant dans l’état avant de commiter bug1 fixed
.
Nous avons utilisé le nom sha1
des commits pour annuler chaque commit.
Nous devons valider cet état de l’arborescence de travail dans le référentiel Git comme suit.
$ git commit -m "the fixes for bugs 1 2 3 reverted"
Utilisation de git reset
pour annuler plusieurs commits dans Git
Supposons que nous ayons des commits de fusion dans le référentiel. Ensuite, la solution ci-dessus utilisant le git revert
ne fonctionnera pas.
Nous devons utiliser la commande git reset
dans de tels cas.
Ainsi, pour annuler plusieurs commits à l’aide de git reset
dans Git, nous devons procéder comme suit.
$ git reset --hard 784065c
$ git reset --soft ORIG_HEAD
$ git commit
Ainsi, nous avons utilisé la commande git reset
pour rétablir le référentiel au commit, à 784065c feature1 developed
, qui était juste avant la première correction de bogue dans l’historique des commits.
Ainsi, cela fonctionne même lorsque nous avons des commits de fusion.
Article connexe - Git Commit
- Afficher l'historique des validations pour une branche à l'aide de Git Log With Range
- Afficher les fichiers dans Git Commit
- Commits multiples à l'aide de Cherry-Pick dans Git
- Copier les commits d'une autre branche dans Git
- Git Afficher les changements dans le commit
- Modifier l'éditeur Git pour les commits