233 votes

Comment supprimer les n derniers commits sur Github et localement ?

J'essaie de supprimer les 2 derniers commits d'un de mes dépôts GitHub. J'ai essayé comme suggéré aquí : git push -f origin HEAD^^:master . Il semble que cela fonctionne, car les deux derniers commits sont supprimés.

Ensuite, je les ai supprimés de mon dépôt local avec git rebase -i HEAD~2 . Je supprime les lignes qui sont liées à ces commits, et je vérifie avec git log qu'ils sont correctement retirés.

Après cela, je fais quelques changements dans mon dépôt local, je fais un nouveau commit, et je pousse vers GitHub. Le problème est que, dans mon compte GitHub, j'ai les deux commits précédents que j'ai essayé de supprimer.

Je pense que le problème vient de mon dépôt local, car si je clone mon dépôt Github sur mon dépôt local et que j'y fais des modifications, lorsque je pousse un nouveau commit, ces anciens commits ne sont pas poussés sur GitHub.

1voto

Sumit Munot Points 1253

Suppression du dernier commit

Pour supprimer le dernier commit de git, vous pouvez simplement exécuter

git reset --hard

HEAD^ Si vous supprimez plusieurs commits du sommet, vous pouvez exécuter

git reset --hard HEAD~2

pour supprimer les deux derniers commits. Vous pouvez augmenter ce nombre pour supprimer encore plus de commits.

Si vous souhaitez "désengager" les commits, mais conserver les modifications pour les retravailler, supprimez l'option "--hard"

git reset HEAD^

qui expulsera les commits de la branche et de l'index, mais laissera l'arbre de travail.

Si vous souhaitez enregistrer les modifications sur un nouveau nom de branche, exécutez alors

git branch newbranchname

avant d'effectuer la réinitialisation de git.

Réponse - Cette réponse Gist m'a aidé

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X