Git Revert Multiple Commits

Azhar Bashir Khan 6 février 2022
  1. Utilisation de git revert pour annuler plusieurs commits dans Git
  2. Utilisation de git reset pour annuler plusieurs commits dans Git
Git Revert Multiple Commits

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

Article connexe - Git Reset