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