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
快速完成工作。