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