fugitive-pluginstatus windowで:Gstatus
を使用してアクセスすると、次のコマンドを使用してファイルの変更を比較できます。 D を使用してコミットするファイルを切り替えます -。
変更を破棄するための同様のショートカットはありますか?破棄とは、git checkout -- filename
に相当するものを意味しますか?
更新:
逃亡者に機能リクエストが見つかりました github ページ 問題#97:ファイルのチェックアウト/削除へのショートカット
それによると、推奨される方法は:Gread
:w
を使用することです
更新2:
更新3:以降 2019年1月3日 キーバインドがマッピングされます X
この機能は2014年6月に追加され、デフォルトで次の場所にマッピングされています U。
この情報は、ヘルプファイルの:h :Gstatus
の下にあります。
U |:Git| checkout HEAD
機能のリクエストとディスカッション:
https://github.com/tpope/vim-fugitive/issues/97
コミット:
https://github.com/tpope/vim-fugitive/commit/061a81f247538aeb61e165e1551355f289d52f6
fugitiveのGread
コマンドを使用して、バッファーの内容をバッファーのファイルのさまざまな代替バージョンで置き換えることができます(つまり、これは:Gstatus
バッファからではなく、ファイルのバッファから実行されます)。
:Gread
(引数なし)は、インデックスからのファイルのバージョンを使用します†。:Gread -
は、HEADコミットからのファイルのバージョンを使用します。fugitiveがサポートする他のリビジョン仕様のリストについては、:help fugitive-revision
のドキュメントを参照してください(上記の2つはおそらく最もすぐに役立つものです)。
:Gread
ワークフローは次のように進行します:
:Gread
:w
を使用して、ファイルを作業ツリーに保存できます(または、すぐに保存する場合は:Gread|w
を使用します)。:Git checkout -- %
ワークフローは次のように進行します:
:Git checkout -- %
概要::Gread
は、「編集の開始後にファイルが変更されました」というプロンプトを回避し、作業ツリーでファイルをいつ変更するかを決定できるようにします。
† バッファが作業ツリーのファイルではなくファイルのインデックスステージを表す場合、:Gread
は、インデックスのステージ0ではなく作業ツリーのディスクに存在するファイルの内容から読み取ります。
ファイルを元に戻すためのgstatusのマッピング:
au FileType gitcommit nmap <buffer> U :Git checkout -- <c-r><c-g><cr>
さて、あなたは:help fugitive
?
どうやら、このGit機能へのショートカットはありません。
Vimとは何の関係もありませんが、時々私はそうすることをあなたに告げることを考えました:
$ git status
...
#
# modified: .rvmrc
# modified: app/views/admin/base/index.html.erb
# modified: config/routes.rb
#
...
$ # mouse-copy the files i want to reset, and paste them into the next command
$ cat | xargs git checkout
app/views/admin/base/index.html.erb
config/routes.rb
^D
仕事を素早く終える。