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