vim-fugitive并排git diff非常适合查看未分段文件的差异。
我如何使用vim-fugitive来git diff
答案 0 :(得分:49)
当前文件与索引之间的差异
:Gdiff :0
当前文件与其他[修订]
之间的差异:Gdiff [revision]
当前文件与当前文件3之间的差异提交:
:Gdiff ~3
答案 1 :(得分:25)
您可以使用:Glog
获取当前文件的历史记录更改。您可以使用:cnext
或:cprevious
在更改之间移动。当您点击要比较的版本时,您可以使用:Gdiff
。您可以退出vimdiff关闭缓冲区:q
并使用:Gedit
退出历史记录日志。
这是我的.vimrc键盘配置:
nnoremap <leader>gs :Gstatus<CR>
nnoremap <leader>gc :Gcommit -v -q<CR>
nnoremap <leader>ga :Gcommit --amend<CR>
nnoremap <leader>gt :Gcommit -v -q %<CR>
nnoremap <leader>gd :Gdiff<CR>
nnoremap <leader>ge :Gedit<CR>
nnoremap <leader>gr :Gread<CR>
nnoremap <leader>gw :Gwrite<CR><CR>
nnoremap <leader>gl :silent! Glog<CR>
nnoremap <leader>gp :Ggrep<Space>
nnoremap <leader>gm :Gmove<Space>
nnoremap <leader>gb :Git branch<Space>
nnoremap <leader>go :Git checkout<Space>
nnoremap <leader>gps :Dispatch! git push<CR>
nnoremap <leader>gpl :Dispatch! git pull<CR>
我推荐Tim Pope的unimpaired.vim
插件。
使用该配置,我的工作流程为:
<Leader>gl
查看历史记录
]q
和[q
在不同版本之间移动(unmpaired.vim)
<Leader>gd
打开diff
:q
结束diff
<Leader>ge
返回我的工作副本。
答案 2 :(得分:9)
添加到上面的答案:
如果你想从另一个分支获得特定文件的差异
Gdiff branch_name:path/to/dir/filename.txt
答案 3 :(得分:0)
如果使用:Glog --
或:Glog -- %
(对于当前文件),我只是按照查看差异的方式放在这里:
:Glog --
:cw
打开提交列表<c-w>gf
并在新标签页中打开差异:tabclose
只关闭标签并获取差异之前的状态答案 4 :(得分:0)
vim命令行中需要的帮助:
h逃犯修订