Answers:
该功能于2014年6月添加,默认情况下映射到U。
此信息位于帮助文件中的:h :Gstatus:
U |:Git| checkout HEAD
功能请求和讨论:https :
//github.com/tpope/vim-fugitive/issues/97
提交:https :
//github.com/tpope/vim-fugitive/commit/061a81f247538aeb61e165e1551355f289d52f63
X
您可以使用逃犯的Gread命令将缓冲区的内容替换为缓冲区文件的各种备用版本(即,必须从文件缓冲区而不是:Gstatus缓冲区执行此操作)。
:Gread(不带参数)将使用索引†中的文件版本。:Gread - 将使用HEAD提交中的文件版本。请阅读文档:help fugitive-revision的其他版本规格列表逃犯支持(以上两个可能是最直接有用的)。
该:Gread工作流进行这样的:
:Gread:w将文件保存到工作树中(或:Gread|w在知道立即保存时使用)。该:Git checkout -- %工作流进行这样的:
:Git checkout -- %摘要::Gread避免出现“自编辑开始以来文件已更改”的提示,并让您决定何时要在工作树中修改文件。
†当缓冲区表示文件的索引阶段而不是工作树中的文件时,请:Gread从文件的内容中读取文件的内容,因为它存在于工作树中的磁盘上,而不是索引的阶段0中。
au FileType gitcommit nmap <buffer> U :Git checkout -- <c-r><c-g><cr>
映射gstatus以还原文件:
au FileType gitcommit nmap <buffer> U :Git checkout -- <c-r><c-g><cr>
:help autoread)完成自动静音重新加载。除此之外,您可以bufdo e在上方au。
好吧,你尝试了:help fugitive吗?
显然没有,该Git功能没有捷径。
:call但没有关联命令的功能。我不记得插件的名称了……对齐吗?不管怎样,我的观点是,在问周围之前,应该先阅读文档。你做了。太酷了。但是在阅读了文档之后,逻辑上的第二步是由IMO来检查插件的来源,并查看那里是否有一些有用的功能。你应该怎么做。但是,AFAIK完全不处理逃犯git checkout,因此您的机会很小。您可能需要退回到:!git checkout -- filename。
:Git checkout -- %。
尽管与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
快速完成工作。