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.