Você pode usar o comando Gread do fugitive para substituir o conteúdo de um buffer por várias versões alternativas do arquivo do buffer (isto deve ser feito a partir do buffer de um arquivo, não do :Gstatus buffer).
-
:Gread (sem argumento) usará a versão do arquivo do índice † .
-
:Gread - usará a versão do arquivo da consolidação HEAD.
Veja a documentação em :help fugitive-revision para a lista de outras especificações de revisão que fugitivo suporta (os dois acima são provavelmente os mais úteis imediatamente).
O fluxo de trabalho :Gread continua assim:
-
:Gread
-
fugitivo limpa o buffer atual e lê o conteúdo do índice
-
Resultado : O buffer agora tem o mesmo conteúdo que o índice. O arquivo da árvore de trabalho não é alterado.
- Você pode fazer o acompanhamento com
:w para salvar o arquivo na árvore de trabalho (ou usar :Gread|w se souber que deseja salvá-lo imediatamente).
O fluxo de trabalho :Git checkout -- % continua assim:
-
:Git checkout -- %
- O Git copia a versão do arquivo no índice para o arquivo na árvore de trabalho.
- O Vim percebe que o arquivo foi alterado fora do editor e solicita que você o ignore ou recarregue.
- Você diz ao Vim para recarregar o arquivo.
-
Resultado : o arquivo da árvore de trabalho e o buffer agora têm o conteúdo do índice.
Resumo: :Gread evita o aviso "o arquivo foi alterado desde a edição iniciada" e permite que você decida quando deseja modificar o arquivo na árvore de trabalho.
† Quando o buffer representa um estágio de índice do arquivo em vez do arquivo da árvore de trabalho, :Gread lê o conteúdo do arquivo como existe no disco na árvore de trabalho do estágio 0 do índice.