Как восстановить ровно один удаленный файл с помощью hg - PullRequest
1 голос
/ 23 мая 2019

Недавно я работал в локальной копии своего хранилища и случайно удалил файл.Со времени моего последнего hg commit я делал различные правки и не знал, что делать.В конце концов я зашел на сайт bitbucket.org, нашел файл, нажал на Open raw и загрузил его через свой браузер.Это сработало, но это явно не то, что нужно делать.

Если мы назовем удаленный файл file.txt и репо code-repo, как мне восстановить удаленный файл, используя hg?

(Моя система основана на Ubuntu.)

1 Ответ

2 голосов
/ 24 мая 2019

Насколько я понимаю, вы изменили файл, контролируемый исходным кодом, но перед передачей любого изменения обратно в управление исходным кодом файл был удален.

В этом случае вы должны рассматривать это каклюбой другой сценарий с потерянными файлами, тот факт, что он находился в системе контроля версий, похоже, совсем не помогает (, за исключением некоторых исключений, перечисленных ниже ).Я хотел бы посмотреть, какие возможности есть у вашей операционной системы / файловой системы для восстановления файлов (например, папки «мусор» или «корзина», если таковые имеются).

Предупреждения - вам может повезти и какое-то автоматическое резервное копированиеили копия файла может существовать хотя бы с некоторыми вашими изменениями.Я бы искал:

  • *. Bak или * .orig файлов, которые могли быть созданы редактором или инструментом управления исходным кодом

  • Mercurial 'полка', если вы когда-либо используете эту функцию

  • Torchise HG 'полка', если вы когда-либо используете эту функцию (на самом деле не то же самое, что стандартная Mercurial)

  • Дважды проверьте, что отредактированный файл все еще не открыт в редакторе.(Это спасло меня не раз!) Будьте осторожны, если редактор говорит: «Этот файл изменился, вы хотите перезагрузить», чтобы щелкнуть NO.

  • Файлы в вашей временной папке, которыеможет случиться так, что он автоматически сохраняется из редактора.Посмотрите на временные метки, чтобы увидеть, могут ли они быть в нужный период времени.


Предполагая, что вы не можете восстановить отредактированный файл, вы можете, по крайней мере, вернуться к последней версии.Версия в hg довольно легко:

$ hg revert path\to\filename

Это вернет файл в его состоянии в наборе изменений, который был родителем рабочей папки.

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