Возврат отдельного файла к более ранней фиксации с использованием Git Extensions для Visual Studio

Я нашел инструкции о том, как вернуть один файл в репозитории Git к более ранней версии. Но мне любопытно, если кто-нибудь знает способ сделать это с помощью Git Extensions для Visual Studio. Пока этот инструмент прекрасно работает, и мне он очень нравится, но я не могу понять, как это сделать.

5 ответов

Решение

Самый простой способ сделать это в Git Extensions - открыть историю файлов (например, из контекстного меню в Visual Studio) для файла, который вы хотите восстановить. Затем найдите нужную ревизию и выберите "Сохранить как" в контекстном меню.

Чтобы отменить изменения, внесенные в файл в рабочем каталоге, просто выберите "отменить изменения" в контекстном меню в Visual Studio.

Хотя техника, предложенная @Henk, будет работать, вот способ Git.

  1. Выберите коммит, который изменил файл, который вы хотите вернуть.
  2. Выберите операцию возврата фиксации. Убедитесь, что вы указали Git Extension не выполнять автоматическую фиксацию операции возврата. Это приведет к: a) операции возврата для затронутого файла (ов) и b) подготовке обращенного файла (файлов).

Затем вы можете удалить файлы, которые вы не хотите возвращать, оставив только один файл, который вы хотите вернуть для подтверждения.

Хотя это может показаться более утомительным, чем просто "Файл"> "Сохранить как", это полезно, когда вам нужно вернуть несколько файлов.

Отредактировал мой пост. Я не знаю, почему я ответил о ртути. Извини за это. Та же идея относится и к мерзавцу. Я использовал tortiseGit (когда я использовал git), но командная строка проще. TortiseGit по-прежнему правой кнопкой мыши, чтобы вернуться. Командная строка - это просто "git checkout filename", чтобы получить извлечение из HEAD.

Вы должны знать, что откат фиксации в истории вернет любые другие файлы (если они были) в той же фиксации.

Если вы действительно хотите вернуть только один файл из коммита, я нахожу следующие работы:

  1. Для рассматриваемого файла щелкните правой кнопкой мыши и просмотрите историю.

  2. В истории найдите фиксацию, к которой вы хотите вернуться (не ту фиксацию, к которой вы возвращаетесь). Щелкните правой кнопкой мыши и просмотрите сведения о коммите.

  3. В верхней части сведений о фиксации щелкните 3 точки и скопируйте идентификатор фиксации.

  4. Перейдите в командную строку, в рабочей папке введите следующее, используя идентификатор фиксации из # 3

    git checkout [идентификатор фиксации] -- путь/к/файлу

  5. Зафиксируйте изменение либо из командной строки, либо в Visual Studio.

    git commit -m 'сообщение: восстановленный файл'

Чтобы отменить изменения в файле, откройте его историю файлов Gitlens, а затем щелкните правой кнопкой мыши предыдущую версию (ту, которая была до ваших изменений). Затем нажмите «Восстановить (Оформить заказ)».

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