web-dev-qa-db-fra.com

Comment puis-je voir git diff pour tout commit utilisant vim-fugitive?

vim-fugitive side-by-side git diff est idéal pour voir les diff des fichiers non staged.

Comment utiliser vim-fugitive to git diff

  • fichiers mis en scène? 
  • une révision git?
37
Sathish

Diff entre le fichier actuel et l'index

:Gdiff :0

Diff entre le fichier actuel et un autre [révision]

:Gdiff [revision]

Diff entre le fichier en cours et le fichier en cours 3 commits il y a:

:Gdiff ~3
47
Peter Rincker

Vous pouvez utiliser :Glog pour obtenir les modifications de l'historique de ces fichiers. Vous pouvez utiliser :cnext ou :cprevious pour vous déplacer entre les modifications. Lorsque vous atteignez la version que vous souhaitez comparer, vous pouvez utiliser :Gdiff. Vous pouvez quitter vimdiff en fermant le tampon :q et quitter le journal de l'historique avec :Gedit.

Ceci est ma configuration de clavier .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>

Je recommande d'utiliser le plugin Tim Pope unimpaired.vim.

Avec cette configuration, mon flux de travail est le suivant:

<leader>gl pour afficher l'historique

]q et [q pour passer d'une version à l'autre (unimpaired.vim)

<leader>Gd pour ouvrir diff

:q pour terminer diff

<leader>ge pour revenir à ma copie de travail.

23
AA.

Ajoutant à la réponse ci-dessus:

Si vous voulez obtenir un diff, d'un fichier particulier d'une autre branche

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

L’aide dont vous avez besoin depuis la ligne de commande vim:

h révision fugitive

0
woooha

Je laisse tomber ici la façon dont je vois un diff si le :Glog -- ou le :Glog -- % (pour le fichier actuel) est utilisé:

  1. :Glog --
  2. :cw pour ouvrir une liste de commits
  3. Accédez à un commit et ses informations ainsi que les fichiers affectés sont affichés
  4. Focus sur un chemin de fichier
  5. <c-w>gf et le diff est ouvert dans un nouvel onglet
  6. :tabclose pour fermer l'onglet et obtenir l'état précédent avant le diff
0
starikovs