Mam świadomość, że wycofywanie może usunąć zatwierdzenia z najnowszego zestawu zmian w lokalnym repozytorium. Czy jest jednak możliwe usunięcie wszystkich ostatnich zatwierdzeń od poprzedniego, bez konieczności ponownego klonowania repozytorium udziałów?Cofnij wielokrotne zatwierdzenia (przed wypchnięciem) w produkcie Mercurial
Odpowiedz
Można zrobić nowe repo z hg clone
.
hg clone -r last_good_changeset localrepo newlocalrepo
Można użyć polecenia hg strip
, część przedłużenia mq
:
hg strip REV
To usunie tę zmianę + wszystkie jego potomków.
Zanim spróbujesz to zrobić kopię/klon repozytorium do eksperymentowania w
Uważam, że to powinna być prawdziwa odpowiedź na to pytanie. Drugi to klon repo, który został specjalnie zgłoszony, aby NIE BYĆ OPCJĄ w pierwotnym pytaniu ("bez konieczności ponownego klonowania"). Kiedy szukałem tego samego rozwiązania co oryginalny post, to odpowiada na moje pytanie, a drugie NIE jest związane z klonem ... Jeśli drugie jest odpowiedzią, to oryginalny plakat chciałby, gdyby pytanie zostało zaktualizowane, aby to odzwierciedlić i pomóc ludzie podczas wyszukiwania? – GazB
Zgadzam się z Tobą GazB –
Instrukcje dotyczące włączenia rozszerzenia 'Strip' są dostępne na [Hg Wiki for Strip] (https://www.mercurial-scm.org/wiki/StripExtension). –
Jeśli używasz rtęciowego zaćmienie, można cofnij raz, a następnie odłóż te zmiany, a następnie wyeksportuj wiele sekwencyjnych zatwierdzeń jako poprawki, usuń te zatwierdzenia, a następnie zaimportuj te poprawki w tej samej kolejności, więc w przypadku gdy masz kolidujące ze sobą łatki, nadpisują się nawzajem w pożądany sposób.
Na koniec możesz anulować swoje pierwsze wycofanie. Osiąga taki sam efekt, jak gdybyś cofnął się więcej niż raz.
- 1. Cofnij "cofnij do tego zatwierdzenia"
- 2. Jak cofnąć Cofnij w mercurial
- 3. Badanie pojedynczego zestawu zmian w produkcie Mercurial
- 4. Gerrit: łącz wielokrotne zatwierdzenia w jedną "zmianę"
- 5. Pchanie bez zatwierdzenia w Mercurial lub Git
- 6. Wykonując bez częściowego zatwierdzenia "Mercurial Way"
- 7. Jak uncommit w Mercurial dla mojego ostatniego zatwierdzenia (jeszcze popchnął)
- 8. Jak mogę edytować niepoprawny komunikat zatwierdzenia w TortoiseHG Mercurial?
- 9. Usuń puste zatwierdzenia w git
- 10. Zmiana komunikatu zatwierdzenia Git przed scaleniem
- 11. Cofnij
- 12. Git log przed pewną datą zatwierdzenia
- 13. Git cofnij ostatnie zatwierdzenie
- 14. Zgrupuj wszystkie zatwierdzenia w jednym, przed żądaniem pobrania w github
- 15. Cofnij w C#
- 16. Polecenie Cofnij w R
- 17. Cofnij usunięcie w GIT
- 18. cofnij bzr przywróć
- 19. Mercurial: jak cofasz zmiany?
- 20. Cofnij git przodu scalić
- 21. Drukuj komunikat zatwierdzenia danego zatwierdzenia w git
- 22. Zatwierdzanie tylko niektórych plików w Mercurial
- 23. Wymagaj zatwierdzenia przed wpisaniem kodu do projektu (TFS)
- 24. Kompresowanie ładunku odpowiedzi w produkcie Django REST?
- 25. Własne config.ini w produkcie Eclipse RCP
- 26. Cofnij zamknięcie Tab w Vim
- 27. Cofnij wycofanie savepoint w mysql
- 28. Wielokrotne wyrównanie w TextView?
- 29. Cofnij zatwierdzenie git
- 30. Cofnij naciśnięcie hg (wycofanie?)
To jest moja ulubiona odpowiedź, ponieważ nie wymaga żadnych rozszerzeń. można łatwo sklonować podzbiór repozytorium i jest prawie natychmiastowy. –
@ Ry4an ... właśnie zdałem sobie sprawę, że faktycznie odpowiedziałeś na to: http://stackoverflow.com/questions/4172753/how-to-get-rid-of-some-changeset-in-hg/4173512#4173512! +1 na oryginalną odpowiedź;) – VonC
heh, nie martw się. Byłem lepszy w tych rzeczach, które starałbym się zadać jako duplikat. –