Mam prosty problem. Przypadkowo popełniłem commit do mojego lokalnego repozytorium. Nie pchnąłem ani nie pociągnąłem, ani niczego innego od czasu zatwierdzenia. Jak cofnąć to zatwierdzenie i przywrócić kopię roboczą do stanu sprzed zatwierdzenia, aby móc zrobić to, co powinienem był zrobić?Mercurial: jak cofnąć ostatnie zanurzenie commit?
Można podejrzewać, że jest to duplikat, więc będę tłumaczyć dlaczego następujące pytania są różne, czy nie jest odpowiedź na moje pytanie:
Odpowiedź do tego państwa, które można to zrobić z hg commit --amend
, ale nie wyjaśnia, jak , jak lub podać przykład tego. Pomoc mercurail też jej nie wyjaśnia.
How do you "rollback" last commit on Mercurial?
członkowskie do korzystania hg rollback
. To polecenie jest najwyraźniej przestarzałe, mimo to próbowałem go używać, ale otrzymałem komunikat: brak dostępnych informacji o cofnięciu. Szkoda, że to nie działa, ponieważ byłby to naprawdę intuicyjny sposób osiągnięcia tego, czego chcę.
Edycja 1
Aby być bardziej konkretne, popełniłem wiele zmian w plikach, kiedy naprawdę chcę popełnić je jeden po drugim. Jak mogę wrócić, abym mógł to zrobić?
1. JFYI '--keep' potrzebne tylko wtedy, gdy zostały zmodyfikowane Dir pracę i chcą zachować te zmiany. Jeśli chcesz "...odzyskaj kopię roboczą do stanu, w którym znajdował się przed zatwierdzeniem ", możesz pominąć --keep 2." Polecenie strip usuwa określone zestawy zmiennych i wszystkich ich potomków "- to twoja sprawa (usuwanie wskazówka) nie jest istotne, ale w często zdarza się, że indywidualne usuwanie commitów w środku historii może być lepsze dzięki rozszerzeniu 'histedit' –
Cóż, aby przywrócić kopię roboczą do stanu, w którym była tuż przed tym, jak ją popełniłem, konieczne jest użycie' --keep', w przeciwnym razie wracają do poprzedniego zatwierdzenia, a nie do stanu, w którym znajdowało się tuż przed tym zatwierdzeniem. – crobar