Sat*_*ish 40 vim vimdiff git-diff vim-fugitive
vim-fugitive并排git diff非常适合查看未分段文件的差异.
我如何使用vim-fugitive来git diff
Pet*_*ker 55
当前文件和索引之间的差异
:Gdiff :0
Run Code Online (Sandbox Code Playgroud)
当前文件和其他一些[版本]之间的差异
:Gdiff [revision]
Run Code Online (Sandbox Code Playgroud)
提交当前文件和当前文件3之间的差异:
:Gdiff ~3
Run Code Online (Sandbox Code Playgroud)
AA.*_*AA. 28
您可以使用它: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>
Run Code Online (Sandbox Code Playgroud)
我建议使用Tim Pope unimpaired.vim
插件.
使用该配置,我的工作流程是:
<Leader>gl
查看历史
]q
并[q
在版本之间移动(unmpaired.vim)
<Leader>gd
打开 diff
:q
结束 diff
<Leader>ge
返回我的工作副本.
加上以上答案:
如果你想获得另一个分支的特定文件的差异
Gdiff branch_name:path/to/dir/filename.txt
Run Code Online (Sandbox Code Playgroud)