Восстановить удаленный файл несколькими коммитами позже

Поэтому я начал новую ветку разработки и решил, что некоторые файлы должны быть отправлены.

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

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

Есть ли способ сделать это, чтобы сохранить историю нетронутой?

Я использую 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Опция гарантирует, что файл получит то же самое имя файла, без добавления номера версии.

Другие вопросы по тегам