fugitiveのGread
コマンドを使用して、バッファーの内容をバッファーのファイルのさまざまな代替バージョンに置き換えることができます(つまり、これは:Gstatus
バッファーからではなく、ファイルのバッファーから行う必要があります)。
:Gread
(引数なし)は、インデックス†からのファイルのバージョンを使用します。
:Gread -
HEADコミットからのファイルのバージョンを使用します。
逃亡者がサポートする:help fugitive-revision
他の改訂仕様のリストについては、ドキュメントを参照してください(上記の2つはおそらく最もすぐに役立つものです)。
:Gread
ワークフローは次のように進行します:
:Gread
- 逃亡者は現在のバッファをクリアし、インデックスからコンテンツを読み込みます
- 結果:バッファはインデックスと同じ内容になりました。作業ツリーファイルは変更されません。
- フォローアップし
:w
て、作業ツリーにファイルを保存できます(または:Gread|w
、すぐに保存することがわかっている場合に使用します)。
:Git checkout -- %
ワークフローは次のように進行します:
:Git checkout -- %
- Gitは、インデックス内のファイルのバージョンを作業ツリー内のファイルにコピーします。
- Vimは、ファイルがエディターの外部で変更されたことに気づき、無視するかリロードするように求めます。
- Vimにファイルをリロードするよう指示します。
- 結果:作業ツリーファイルとバッファの両方に、インデックスの内容が含まれるようになりました。
要約::Gread
「編集が開始されてからファイルが変更されました」というプロンプトを回避し、作業ツリーでファイルをいつ変更するかを決定できます。
†バッファーが作業ツリーのファイルではなくファイルのインデックスステージを表す場合、インデックス:Gread
のステージ0ではなく作業ツリーのディスクに存在するファイルのコンテンツから読み取ります。