J'ai un référentiel Mercurial que je n'utilise qu'en local ... C'est pour mon usage personnel (donc je ne "Push" nulle part).
J'ai fait un commit avec 3 fichiers, mais après cela, j'ai compris que je devais faire un commit de 4 fichiers ...
Existe-t-il un moyen de "restaurer" mon dernier (dernier, un seul) commet et de le "renouveler" avec les fichiers corrects?
(Je ne sais pas pourquoi, mais mon option " Modifier la révision actuelle " n'est pas active, je ne peux donc pas l'utiliser ...)
Vous avez juste besoin de cette commande:
hg rollback
Voir: http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html .
(Techniquement, il est obsolète à partir de la version 2.7, août 2013, mais je n'ai pas encore vu d'alternative qui fasse exactement la même chose.)
La réponse est strip (si vous ne l’avez pas activé, vous pouvez vérifier comment l’activer ici: https: // stackoverflow. com/a/18832892/179581 ).
Si vous voulez rétablir uniquement la dernière utilisation du commit:
hg strip --keep -r .
Si vous souhaitez revenir à un commit spécifique:
hg strip --keep -r 1234
L'utilisation de strip ramènera l'état de vos fichiers au commit spécifié, mais vous les aurez en tant que modifications en attente afin que vous puissiez les appliquer avec votre fichier à un nouveau commit.
Si vous avez mal utilisé la commande ou si vous souhaitez récupérer vos modifications, vous pouvez trouver vos fichiers supprimés dans le dossier .hg/strip-backup .
Crédit à ForeverWintr
En hg moderne:
hg uncommit
ou, pour votre problème exact:
hg add file4
hg amend