Мои изменения пропали после "hg revert"? - PullRequest
7 голосов
/ 19 декабря 2011

После моего последнего коммита я написал кучу кода. Перед повторной фиксацией я запустил hg add. Он добавил некоторые файлы, которые мне не были интересны, поэтому я запустил

$ hg revert --all

думает, что все добавленные файлы исчезнут. Они ушли, но я также вернул весь код, написанный со времени последнего коммита, что означает, что была потеряна куча работы! Какие у меня варианты?

1 Ответ

12 голосов
/ 19 декабря 2011

Когда вы hg revert файл (или --all файлы), Mercurial сохраняет резервную копию файла под другим именем. Это должно усложнить вам потерю работы. Если файл назывался foo, у вас будет foo.orig с исходной версией.

Вы можете использовать

$ hg status --all --include "**.orig"

чтобы увидеть все файлы .orig в вашей рабочей копии. Переместите те, которые вам нужны, снова, добавьте их и подтвердите.

На заметку: люди иногда добавляют флаг --no-backup в свой раздел [defaults], чтобы избавиться от разбросанных по ртутью файлов .orig. Я думаю, что это действительно плохая идея ... просто игнорируйте файлы .orig, добавив

syntax: glob
*.orig

в ваш файл .hgignore. Это намного безопаснее, и однажды вы будете рады, что у вас есть эти файлы .orig: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...