Hoe kan ik git diff voor elke commit bekijken met vim-fugitive?

vim-fugitive side-by-side git diff is geweldig voor het bekijken van diff van niet-gefaseerde bestanden.

Hoe kan ik vim-fugitive gebruiken om diff te git

  • gefaseerde bestanden?
  • elke git-revisie?

Antwoord 1, autoriteit 100%

Verschil tussen huidig ​​bestand en de index

:Gdiff :0

Verschil tussen huidig ​​bestand en een andere [revisie]

:Gdiff [revision]

Verschil tussen huidig ​​bestand en huidig ​​bestand 3 commits geleden:

:Gdiff ~3

Antwoord 2, autoriteit 51%

U kunt :Gloggebruiken om de geschiedeniswijzigingen voor het huidige bestand op te halen. U kunt :cnextof :cpreviousgebruiken om tussen wijzigingen te schakelen. Als je de versie hebt gevonden die je wilt vergelijken, kun je :Gdiffgebruiken. U kunt vimdiff afsluiten door de buffer :qte sluiten en het geschiedenislogboek te verlaten met :Gedit.

Dit is mijn .vimrc-toetsenbordconfiguratie:

 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>

Ik raad de plug-in unimpaired.vimvan Tim Pope aan.

Met die configuratie is mijn workflow:

<Leader>glom de geschiedenis te bekijken

]qen [qom tussen versies te schakelen (unimpaired.vim)

<Leader>gdom diff

te openen

:qom diff

te beëindigen

<Leader>geom terug te keren naar mijn werkkopie.


Antwoord 3, autoriteit 19%

Toevoegen aan bovenstaand antwoord:

Als je een diff wilt van een bepaald bestand van een andere branch

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

Antwoord 4, autoriteit 3%

Ik plaats hier gewoon de manier waarop ik een diff bekijk als de :Glog --of :Glog -- %(voor huidig ​​bestand) wordt gebruikt:

  1. :Glog --
  2. :cwom een ​​lijst met commits te openen
  3. Navigeer naar een vastlegging en de informatie en de getroffen bestanden worden getoond
  4. Focus op een bestandspad
  5. <c-w>gfen de diff wordt geopend in een nieuw tabblad
  6. :tabcloseom het tabblad gewoon te sluiten en de vorige status vóór het verschil te krijgen

Other episodes