Вы можете использовать команду Gread
беглого «s , чтобы заменить содержимое буфера с различными альтернативными версиями файла в буфера (т.е. это должно быть сделано из буфера файла, в то не :Gstatus
буфера).
:Gread
(без аргументов) будет использовать версию файла из индекса †.
:Gread -
будет использовать версию файла из коммита HEAD.
См. Документацию по адресу :help fugitive-revision
для получения списка других спецификаций ревизии, которые поддерживает беглец (две из них, вероятно, наиболее полезны).
Рабочий процесс :Gread
происходит следующим образом:
:Gread
- Беглец очищает текущий буфер и читает содержимое из индекса
- Результат: буфер теперь имеет то же содержимое, что и индекс. Файл рабочего дерева не изменяется.
- Вы можете выполнить
:w
чтобы сохранить файл в рабочем дереве (или использовать :Gread|w
если вы знаете, что хотите сохранить его сразу).
Оформление :Git checkout -- %
рабочий процесс происходит следующим образом:
:Git checkout -- %
- Git копирует версию файла в индексе в файл в рабочем дереве.
- Vim замечает, что файл был изменен вне редактора, и предлагает вам проигнорировать или перезагрузить его.
- Вы говорите Vim, чтобы перезагрузить файл.
- Результат: и файл рабочего дерева, и буфер теперь содержат содержимое из индекса.
Сводка:: :Gread
избегает приглашения «файл изменился с момента начала редактирования» и позволяет вам решить, когда вы хотите изменить файл в рабочем дереве.
† Когда буфер представляет стадию индекса файла вместо файла из рабочего дерева :Gread
считывает содержимое файла так, как оно существует на диске в рабочем дереве, вместо стадии 0 индекса.