Восстановить удаленный файл несколькими коммитами позже
Поэтому я начал новую ветку разработки и решил, что некоторые файлы должны быть отправлены.
Через несколько коммитов я понимаю, что определенное решение было неверным, и мне нужно вернуть пару файлов.
Моя первоначальная мысль о том, как вернуть файлы, заключается в том, чтобы просто взять копии из другой ветки и передать их главе новой ветки, но я беспокоюсь, что это означает, что файлы не будут связаны с их старой историей.
Есть ли способ сделать это, чтобы сохранить историю нетронутой?
Я использую Mercurial версии 1.5.2
2 ответа
Я нашел это решение на другом сайте, но не могу найти где.
Ответ - вернуть файлы, которые были удалены по отдельности:
hg revert -rxxx filename
где xxx
номер редакции перед удалением.
Затем верните их обратно. История сохраняется!
Шаг 1. Найдите редакцию, из-за которой был удален файл.
$ hg log -r "removes('filename')"
changeset: 1725:28bee50c5fe4
…
Шаг 2. Чистый возврат файла к предыдущей версии.
$ hg rev -r 1724 -C filename
The -C
(чистый) или--no-backup
Опция гарантирует, что файл получит то же самое имя файла, без добавления номера версии.