Подтвердить что ты не робот

Как я могу просмотреть git diff для любой фиксации с помощью vim-fugitive?

vim-fugitive side-by-side git diff отлично подходит для просмотра diff неустановленных файлов.

Как я могу использовать vim-fugitive для git diff

  • поэтапные файлы?
  • любая версия git?
4b9b3361

Ответ 1

Разница между текущим файлом и индексом

:Gdiff :0

Разница между текущим файлом и некоторыми другими [версиями]

:Gdiff [revision]

Разница между текущим файлом и текущим файлом 3 месяца назад:

:Gdiff ~3

Ответ 2

Вы можете использовать :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 чтобы вернуться к моей рабочей копии.

Ответ 3

Добавление к предыдущему ответу:

Если вы хотите получить diff, определенного файла из другой ветки

Gdiff branch_name:path/to/dir/filename.txt

Ответ 4

Я просто перехожу сюда, как я рассматриваю diff, если используется :Glog -- или :Glog -- % (для текущего файла):

  • :Glog --
  • :cw, чтобы открыть список коммитов
  • Перейдите к фиксации и отобразите его информацию, а также затронутые файлы.
  • Фокус на пути к файлу
  • <c-w>gf, и diff открывается в новой вкладке
  • :tabclose, чтобы закрыть вкладку и получить предыдущее состояние перед diff

Ответ 5

Нужная помощь из командной строки vim:

ч. беглец-ревизия