Jestem nowy we współpracy z Mercurial. Moja sytuacja:
- Inny programista zmienił rewizję 1 pliku, aby zastąpić wcięcia 4-spacji wcięciem 2-spacjami. (Tzn. Zmieniłem każdą linię.) Wywołaj to rev 2, zepchnij do zdalnego repozytorium.
- Wprowadziłem istotne zmiany w wersji 1, wprowadzając różne zmiany kodu w moim lokalnym obszarze roboczym. Nazwij to rev 3.
- Mam
hg pull
ed ihg merge
d bez jasnego pojęcia, co się dzieje. - Konflikty są niezliczone i mało istotne.
Więc naprawdę żałuję, że nie zmieniłem lokalnego repozytorium na wcięcia o 2 spacjach przed scaleniem; wtedy scalenie będzie trywialne (przypuszczam). Ale nie mogę się cofnąć. Myślę, że muszę, hg update -r 3
ale jest napisaneabort: outstanding uncommitted merges
.
Jak mogę cofnąć scalenie, zmienić odstępy w lokalnym repozytorium i ponownie zainstalować?
M-x indent-region
emacsie , podobnie jak sztuczka z reindentem.BTW: jeśli po prostu cofniesz scalenie, które zrobiłeś, a 3 nie jest Twoim numerem wersji, możesz to zrobić:
źródło
.
to skrót do poprzedniej wersji.hg help update
I get: Jeśli nie określono żadnego zestawu zmian, zaktualizuj końcówkę bieżącej nazwanej gałęzi ... a wskazówka może nie zawsze być twoją bieżącą wersją, nad którą pracujesz. Jak dotąd nie testowałem ...-r .
jest takie samoAby cofnąć niezatwierdzone scalanie, użyj
który wypisze czystą kopię oryginalnego elementu macierzystego scalania, tracąc wszystkie zmiany.
źródło
Najwyraźniej po prostu musiałem to zrobić
hg update -C -r 3
, co nadpisuje moje lokalne pliki z myślą o rev (i myślałem,hg update
że tak się stanie; ale się myliłem). Dziękuję za pomoc!źródło
-C
lub--clean
jest sposobem, w jaki mówisz Mercurialowi, aby kontynuował, nawet jeśli wyrzuci niektóre zmodyfikowane pliki. Masz rację,hg update -r X
co zwykle prowadzi do wersji X, ale kiedy jesteś w scalaniu, musisz nalegać trochę więcej :-)