Jak mogę cofnąć moją ostatnią przypadkowo zatwierdzoną (nie wprowadzoną) zmianę w Mercurial?
Jeśli to możliwe, preferowany byłby sposób zrobienia tego z TortoiseHg.
Aktualizacja
W moim konkretnym przypadku dokonałem zestawu zmian (nie popchnąłem). Następnie ściągnąłem i zaktualizowałem z serwera. Dzięki tym nowym aktualizacjom zdecydowałem, że moje ostatnie zatwierdzenie jest przestarzałe i nie chcę go synchronizować. Wydaje się więc, że hg rollback
nie jest to dokładnie to, czego szukam, ponieważ wycofałoby pull zamiast mojego zatwierdzenia.
strip --keep
: stackoverflow.com/questions/29413851/ ... bezpośrednio rozwiązuje zadanie, podobnie jak qimport MQ. Alternatywnie, może być lepiej po prostu rebase
w scenariuszu, jeśli lokalne zmiany mają być również zachowane i nie ma konfliktu. (Użyj scalenia, aby zachować pewne połączone zmiany z obu gałęzi, gdy jest to pożądany końcowy cel wykresu, szczególnie w przypadku, gdy nie jest to fastforward.) Może być również poprawne po prostu do zamknięcia gałęzi, która nadal „zachowuje historię” (ale inaczej niż scalanie) w zależności od pożądanego stanu końcowego.
hg strip --keep
to polecenie jest używane, ale musisz podać wersję, np hg strip --keep -r .
. : . Ta odpowiedź dobrze wyjaśnia stackoverflow.com/a/19064016/1286571
hg rollback
, a potem ponownym pociągnięciem?