vim-fugitive 并排 git diff 非常适合查看未暂存文件的差异。
我如何使用 vim-fugitive 来 git diff
- 暂存文件?
- 任何 git 修订版?
vim-fugitive 并排 git diff 非常适合查看未暂存文件的差异。
我如何使用 vim-fugitive 来 git diff
当前文件和索引之间的差异
:Gdiff :0
当前文件与其他一些[修订]之间的差异
:Gdiff [revision]
当前文件与 3 次提交前的当前文件之间的差异:
:Gdiff ~3
您可以使用: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>
我推荐unimpaired.vim
Tim Pope 的插件。
使用该配置,我的工作流程是:
<Leader>gl
查看历史
]q
并[q
在版本之间移动 (unimpaired.vim)
<Leader>gd
打开diff
:q
结束diff
<Leader>ge
返回我的工作副本。
添加到上面的答案:
如果您想从另一个分支获取特定文件的差异
Gdiff branch_name:path/to/dir/filename.txt
:Glog --
如果使用or :Glog -- %
(对于当前文件),我只是以查看差异的方式放在这里:
:Glog --
:cw
打开提交列表<c-w>gf
差异在新标签中打开:tabclose
只需关闭选项卡并获取差异之前的先前状态