2012-01-20 14 views
28

Usunąłem jeden z plików, który był w moim repozytorium lokalnie (tylko na poziomie systemu plików, nie używając hg remove). Teraz chcę odzyskać ten plik z repozytorium do mojego katalogu lokalnego. Kiedy robię hg status, wie, że plik jest usunięty lokalnie, ale nie ma zmian, które należy zatwierdzić, czego oczekiwałbym.Odświeżanie pliku usuniętego lokalnie z Mercurial

Odpowiedz

45
$ hg revert your-file 

przywróci go.

Edit "hg Przywróć" zobaczyć http://www.selenic.com/mercurial/hg.1.html#revert

+1

Ach tak. I widzę, że hg 'revert - all' też tak działa, ale to jest przycisk nuklearny. Użyłem '--all', ponieważ starałem się uniknąć wpisywania (w tym przypadku naprawdę długiej) nazwy pliku. Czy istnieje polecenie ponownego pobrania wszystkiego z repozytorium do katalogu lokalnego, z wyjątkiem zmienionych plików. Może to zbyt długo dyskusja ... – ScrollerBlaster

4

cd do katalogu i robić przywrócić wszystkie pliki lub użyć jakiejś odpowiedniej maski, takiej jak * .java, itd. To wpłynie tylko na bieżący katalog (nie jestem pewien podkatalogów).

8

Poniższa powróci wszystkie usunięte pliki w bieżącym repo:

hg status -nd0|xargs -0 hg revert 
Powiązane problemy