Как я могу просмотреть git diff для любого коммита, используя vim-fugitive?
vim-fugitive side-by-side git diff отлично подходит для просмотра различий неустановленных файлов.
Как я могу использовать vim-fugitive для git diff
- устроили файлов?
- любая ревизия git?
5 ответов
разница между текущим файлом и индексом
:Gdiff :0
разница между текущим файлом и некоторой другой [ревизией]
:Gdiff [revision]
разница между текущим файлом и текущим файлом 3 фиксации назад:
:Gdiff ~3
можно использовать :Glog
чтобы получить историю изменений этих файлов. Вы можете использовать :cnext
или :cprevious
для перемещения между изменениями. Когда вы нажмете версию, которую хотите сравнить, вы можете использовать :Gdiff
вы можете выйти из vimdiff закрыв буфер :q
и выйти из журнала истории с :Gedit
это моя .клавиатура vimrc файл config
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
плагин.
С этой конфигурацией, мой рабочий процесс:
<leader>gl
для просмотра истории
]q
и [q
для перемещения между версиями (unimpaired.vim)
<leader>gd
открыть diff
:q
до конца diff
<leader>ge
вернуться к моей рабочей копии.
добавление к вышеуказанному ответу:
Если вы хотите получить разницу, определенного файла из другой ветви
Gdiff branch_name:path/to/dir/filename.txt
Я просто падаю здесь, как я вижу разницу, если :Glog --
или :Glog -- %
(для текущего файла) используется:
:Glog --
-
:cw
открыть список коммитов - перейдите к фиксации и его информация, а также файлы отображаются
- сосредоточьтесь на пути к файлу
-
<c-w>gf
и diff открывается в новой вкладке -
:tabclose
чтобы просто закрыть вкладку и получить предыдущее состояние перед diff