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