paint-brush
Comment supprimer les validations de Remote dans Gitpar@timmouskhelichvili
364,068 lectures
364,068 lectures

Comment supprimer les validations de Remote dans Git

par Tim Mouskhelichvili2m2022/05/31
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

Pour supprimer les commits à distance, vous pouvez utiliser la commande git reset si vos commits sont consécutifs à partir du haut ou un rebase interactif sinon. Après avoir supprimé les validations localement, transférez ces modifications vers la télécommande à l'aide de la commande git push avec l'option force.
featured image - Comment supprimer les validations de Remote dans Git
Tim Mouskhelichvili HackerNoon profile picture
0-item
1-item

La manipulation de l'historique est très courante pour les développeurs qui travaillent régulièrement avec Git. En effet, les développeurs doivent souvent supprimer les commits de l’historique Git. Heureusement, Git fournit de nombreuses commandes pour rendre cette opération possible.


Allons-y 😎.

Étape 0 - Préparation

Avant de manipuler l'historique Git, assurez-vous que votre répertoire de travail est exempt de toute modification à l'aide de la commande git status .

Étape 1 : Supprimer les commits localement

Pour supprimer des commits d'un serveur distant, vous devrez d'abord les supprimer de votre historique local.

1.1 Pour les commits consécutifs par le haut

Si les commits que vous souhaitez supprimer sont placés en haut de votre historique de commits, utilisez la commande git reset --hard avec l'objet HEAD et le nombre de commits que vous souhaitez supprimer.


 git reset --hard HEAD~1

Cette commande supprimera le dernier commit .


 git reset --hard HEAD~3

Cette commande supprimera les trois derniers commits .


Vous pouvez également supprimer jusqu'à un commit spécifique en utilisant le hachage d'un commit, comme ceci :

 git reset --hard <hash>

1.2 Pour les commits non consécutifs

Si toutefois vous souhaitez supprimer les commits non consécutifs, vous devrez utiliser un rebase interactif.


  • [ ] Recherchez le dernier hachage de validation contenant tous les commits que vous souhaitez supprimer à l'aide de la commande git reflog .
  • [ ] Démarrez un rebase interactif avec git rebase -i <hash> .
  • [ ] Dans l'écran d'édition, recherchez les lignes de validation que vous souhaitez supprimer et supprimez-les.
  • [ ] Enregistrez et quittez (vous devrez peut-être résoudre les conflits)
  • [ ] Terminez le rebase interactif avec git rebase --continue ou recommencez en abandonnant le rebase .

Étape 2 - Supprimer les commits de la télécommande

Pour supprimer les commits de la télécommande, vous devrez transmettre vos modifications locales à la télécommande à l'aide de la commande git push .


 git push origin HEAD --force


Étant donné que votre historique local diverge de l'historique distant, vous devez utiliser l'option force .

Dernières pensées

Comme vous pouvez le constater, Git facilite la suppression des commits d'un serveur distant.


Cependant, vous devez être prudent lorsque vous utilisez la commande git push avec l'option force car vous pourriez perdre votre progression si vous n'êtes pas prudent.


Merci pour la lecture!