open - ¿Cómo puedo ver git diff para cualquier confirmación usando vim-fugitive?
vim surround (5)
Agregando a la respuesta anterior:
Si desea obtener un diff, de un archivo particular de otra rama
Gdiff branch_name:path/to/dir/filename.txt
vim-fugitive side-by-side git diff es ideal para ver diferencias de archivos sin grabar.
¿Cómo puedo usar vim-fugitive para git diff?
- archivos escalonados?
- cualquier revisión git?
Diferencia entre el archivo actual y el índice
:Gdiff :0
Diferencia entre el archivo actual y alguna otra [revisión]
:Gdiff [revision]
La diferencia entre el archivo actual y el archivo actual 3 confirma hace:
:Gdiff ~3
La ayuda que necesita de la línea de comando vim:
h fugitivo-revisión
Puede usar :Glog
para obtener los cambios en el historial de estos archivos. Puede usar :cnext
o :cprevious
para moverse entre cambios. Cuando :Gdiff
la versión que quieres comparar, puedes usar :Gdiff
Puedes salir de vimdiff cerrando el búfer :q
salir del registro de historial con :Gedit
Esta es mi configuración de teclado .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>
Recomiendo usar el plugin de Tim Pope unimpaired.vim
.
Con esa configuración, mi flujo de trabajo es:
<leader>gl
para ver el historial
]q
y [q
para moverse entre las versiones (unimpaired.vim)
<leader>gd
para abrir diff
:q
para terminar diff
<leader>ge
para regresar a mi copia de trabajo.
Simplemente coloco aquí la forma en que veo un diff si se :Glog --
o :Glog -- %
(para el archivo actual):
-
:Glog --
-
:cw
para abrir una lista de confirmaciones - Navegue a una confirmación y se muestra su información, así como los archivos afectados.
- Centrarse en una ruta de archivo
-
<cw>gf
y el diff se abre en una nueva pestaña -
:tabclose
para cerrar la pestaña y obtener el estado anterior antes del diff