Sat*_*ish 40 vim vimdiff git-diff vim-fugitive
vim-fugitive并排git diff非常适合查看未分段文件的差异.
我如何使用vim-fugitive来git diff
Pet*_*ker 55
当前文件和索引之间的差异
:Gdiff :0
当前文件和其他一些[版本]之间的差异
:Gdiff [revision]
提交当前文件和当前文件3之间的差异:
:Gdiff ~3
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>
我建议使用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