it-swarm.com.de

Wie kann ich git diff für ein Commit mit vim-fugitive anzeigen?

vim-flugitive Side-by-Side-Git-Diff eignet sich hervorragend für die Anzeige von Diff von nicht bereitgestellten Dateien.

Wie kann ich vim-flugitive für git diff verwenden?

  • inszenierte Dateien? 
  • jede git revision?
37
Sathish

Unterschied zwischen aktueller Datei und Index

:Gdiff :0

Unterschied zwischen der aktuellen Datei und einer anderen [Revision]

:Gdiff [revision]

Der Unterschied zwischen der aktuellen Datei und der aktuellen Datei 3 wurde festgelegt:

:Gdiff ~3
47
Peter Rincker

Sie können :Glog verwenden, um die Verlaufsänderungen für diese Dateien abzurufen. Sie können :cnext oder :cprevious verwenden, um zwischen Änderungen zu wechseln. Wenn Sie auf die Version treffen, die Sie vergleichen möchten, können Sie :Gdiff verwenden. Sie können den vimdiff beenden, indem Sie den Puffer :q schließen und das Protokoll mit :Gedit beenden.

Dies ist meine .vimrc-Tastaturkonfiguration

  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>

Ich empfehle das Tim Pope unimpaired.vim Plugin zu verwenden.

Mit dieser Konfiguration ist mein Workflow:

<leader>gl, um den Verlauf anzuzeigen

]q und [q, um zwischen Versionen zu wechseln (unimpaired.vim)

<leader>Gd zum Öffnen von diff

:q, um diff zu beenden

<leader>ge, um zu meiner Arbeitskopie zurückzukehren.

23
AA.

Hinzufügen zur obigen Antwort:

Wenn Sie ein diff einer bestimmten Datei von einem anderen Zweig erhalten möchten

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

Die Hilfe, die Sie in der vim-Befehlszeile benötigen:

h flüchtige Revision

0
woooha

Ich stelle hier einfach die Art und Weise ein, wie ich einen Diff sehe, wenn :Glog -- oder :Glog -- % (für die aktuelle Datei) verwendet wird:

  1. :Glog --
  2. :cw, um eine Liste von Commits zu öffnen
  3. Navigieren Sie zu einem Commit und seine Informationen sowie betroffene Dateien werden angezeigt
  4. Konzentrieren Sie sich auf einen Dateipfad
  5. <c-w>gf und der Diff wird in einem neuen Tab geöffnet
  6. :tabclose, um die Registerkarte zu schließen und den vorherigen Status vor dem Vergleich zu erhalten
0
starikovs