Jestem nowy w Mercurial. Zrobiłem hg status
i zobaczyłem, że pliki, które zmieniły się od ostatniego zatwierdzenia mają przed sobą M
. Następnie wypróbowałem hg update -C
. Czy jest jakiś sposób, aby odzyskać wersję plików z M
zanim zrobiłem hg update -C
? Czy jestem całkiem spieprzony? :(od hg update -C
odrzutów wszelkie zmiany od ostatniego popełnićMercurial - przywróć niezatwierdzone zmiany po "hg update -C"
Odpowiedz
Dobrze, rzućmy okiem.
PS C:\dev> hg init foo
PS C:\dev> cd .\foo
PS C:\dev\foo> echo ":)" > file.txt
PS C:\dev\foo> hg add
adding file.txt
PS C:\dev\foo> hg com -m ":D"
PS C:\dev\foo> echo "DDDD" >> .\file.txt
PS C:\dev\foo> hg sta
M file.txt
PS C:\dev\foo> hg up -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
PS C:\dev\foo> hg sta
PS C:\dev\foo> dir
Directory: C:\dev\foo
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/14/2013 4:06 PM .hg
-a--- 5/14/2013 4:06 PM 10 file.txt
PS C:\dev\foo> type .\file.txt
:)
To zaszło :(Niestety dla złych wiadomości
Niestety, to właśnie tam w! hg help update
:
options:
-C --clean discard uncommitted changes (no backup)
prawidłowe workflow byłoby commit
zaległe zmian (co przypuszczalnie cr eate a new head) i merge
twój commit z wersjami, które chciałeś zaimportować.
Jeśli nie lubisz, gdy masz obowiązek wypróbować niedopieczony zestaw zmian, sprawdź rozszerzenie shelve
, które zostało zaprojektowane właśnie w tym celu: tymczasowo odkłada wszystkie lub niektóre z niezatwierdzonych zmian, co pozwala na uruchomienie hg
operacji przed ponownym ich wprowadzeniem. (shelve
nie jest dystrybuowany z mercurial, ale myślę, że może go zawierać tortoisehg
).
Dość późna odpowiedź dla Jasona, ale może pomóc innym.
Mieliśmy ten sam problem i ZNALAZŁEM ROZWIĄZANIE here...
W skrócie:
- typu
hg heads
- widać szef wprowadzonych zmian jest stil gdzieś w repozytorium - kopia ID głowy i wpisz
hg update <id_of_your_head>
- 1. Jak przywrócić Mercurial hg pull?
- 2. bitbucket, "hg push" i "hg update"
- 3. Mercurial: jak cofasz zmiany?
- 4. Jak zastosować kilka poprawek za pomocą wiersza polecenia hg, gdy są już niezatwierdzone zmiany?
- 5. Mercurial (hg) równoważne reset git (--mixed lub --soft)
- 6. Polecenie Mercurial do łączenia pullów hg; hg up
- 7. Mercurial `hg clone` ale ignorowanie wszystkich subrepos?
- 8. Mercurial hg obsługuje wiele repozytoriów
- 9. Klonowanie repozytorium Mercurial bez .hg
- 10. hg: Jak zmienić język mojej instalacji Mercurial (hg)? (MacOS)
- 11. Moving niezatwierdzone zmiany do nowego oddziału
- 12. Mercurial mówi "Abort: wybitne zmiany niewyasygnowane", nie chcę popełnić
- 13. Mercurial: sprawdź, czy ostatnie ciągnięcie/aktualizacja wprowadziło zmiany
- 14. Jak wyświetlić niezatwierdzone zmiany w Git
- 15. Jak rozróżnić lokalne, niezatwierdzone zmiany i pochodzenie
- 16. hg: Zatwierdź zmiany w innym oddziale
- 17. Hg Pull vs. Update do końcówki odgałęzienia
- 18. Hosting Mercurial HG za pośrednictwem serwera VisualSVN
- 19. Importowanie historii TFS do Mercurial (hg)
- 20. Włączanie uzupełniania tabulatora dla Mercurial (hg)
- 21. Jak zmienia się Mercurial, gdy już użyłem klonu hg?
- 22. Hg pasek vs hg backout i hg przywrócić
- 23. Git odpowiednik "hg id"?
- 24. Workflow do "backport" zmienić na inną gałąź Mercurial (Hg)?
- 25. Przywróć C# Windows Forms backcolor
- 26. Jak wykonać "usunięcie hg" Mercurial dla wszystkich brakujących plików?
- 27. Czy można wykupić pojedynczy katalog z repozytorium Mercurial (HG)?
- 28. Mercurial: Trwale usuwa poufne dane z repozytorium HG?
- 29. Przywróć intellisense po wygaśnięciu próby ReSharper
- 30. Jak edytować wiadomość zatwierdzania Mercurial po rozgałęzieniu?