À l'aide de TortoiseGit la suppression de tous après un certain commettre
À l'aide de TortoiseGit (j'essaie d'éviter l'utilisation de lignes de commande) comment doit-on supprimer tous les commits qui accended à partir d'un certain commettre, et de "revenir dans le passé" (exemple d'utilisation: a continué de faire quelque chose, pensé que je n'aimais pas où il allait, et a décidé de "rentrer" abstraction faite de tout le reste).
En bref je souhaite aller 5 s'engage "retour", et de les supprimer par la suite.
OriginalL'auteur richard | 2010-03-28
Vous devez vous connecter pour publier un commentaire.
Aller à TortoiseGit -> Afficher le journal. Sélectionnez le plus récent commit que vous voulez garder tout sera effacé. Puis faites un clic droit dessus et sélectionnez "Réinitialiser "maître" de ce" et choisissez Dur. Attention tout de même car une fois que vous faites cela tous les commits après il sera perdu à jamais, sauf s'ils sont stockés dans une autre branche quelque part.
Dans TortoiseGit v1.8.14 la "Force" d'Écraser" a changé "Options" > "la Force: Peut jeter" > vérification de la "changements" case à cocher. Je n'ai pas besoin d'utiliser la plus destructrice "inconnus " modifications".
OriginalL'auteur Martin Sherburn
Je n'ai jamais utilisé la Tortue rien (sauf si vous comptez l'electronica groupe), mais je vais vous donner cette info au cas où vous ne trouvez pas un moyen de le faire avec l'interface graphique ou vous finissez par décider d'aller CLI, après tout.
@Tuxified mentionne, vous pouvez accomplir cela avec
git reset --hard <COMMIT>
. Vous devez spécifier un commit, ce qui peut se faire dans un environnement intimidant panoplie de moyens possibles; le plus souvent, ont des formes commeHEAD~4
, qui spécifie un commit 4 s'engage avant que le chef de la branche courante, etdeadbeef42
, ce qui indique une livraison dont les SHA1 commence avec 0xdeadbeef42. Si vous utilisez linux ou OSX, vous pouvez obtenir les détails sur l'commettre des prescripteurs viaman git-rev-parse
, en vertu de la "SPÉCIFICATION des RÉVISIONS".Vous pouvez également renommer la branche courante (
git branch -m new_branch_name
), puis de créer une nouvelle direction, avec sa tête à l'endroit que vous souhaitez rétablir. L'avantage est que si vous avez envie d'utiliser l'ensemble ou certaines des choses que vous avez fait là, vous pouvez toujours y accéder facilement; et si vous faute de frappe de la validation, vous êtes sauvé d'un grand holycrap moment. Plus les branches git sont super léger, de sorte que le seul véritable inconvénient est qu'il y aura une autre branche de la liste. Pour rendre le nouveau maître de la direction générale, vous utilisezgit branch master <COMMIT>
, et ensuite, vous check it out. De sorte que l'effet ici est la même que la première option, sauf que vous avez encore votre ancienne modifications enregistrées dans la branchenew_branch_name
. Vous pouvez même fusionner ces changements plus tard, après de nouvelles s'engage àmaster
, si vous en avez envie.Noter que ces techniques sont considérés comme des "réécriture de l'histoire" et entraîner des problèmes si vous partagez votre repo avec les autres. Si vous êtes intelligent et en le poussant vers une sauvegarde pensions dans les nuages de la ville ou sur un autre pc, vous aurez pour arranger les choses sur la fin avant que vous pouvez pousser à nouveau.
C'est probablement beaucoup plus d'informations que vous avez besoin dès maintenant, mais si vous vous retrouvez à l'aide de git beaucoup de choses que vous voudrez probablement savoir ce genre de choses à un certain point. Désolé, je ne sais pas comment utiliser la Tortue...
OriginalL'auteur intuited
À partir de la ligne de commande, vous pouvez utiliser le revert ou commande de réinitialisation.
TortoiseGit
devrait avoir des commandes similaires, peut-être vous pouvez y accéder en regardant le journal de validation?(Je n'ai pas utilisé
TortoiseGit
donc je ne peux pas le vérifier)Ah, je n'avais pas remarqué que vous vouliez aller retour 5 s'engage X (git-reset' (--dur) doit être votre nouvel ami 😉
OriginalL'auteur Tuxified