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