Slide 1

Slide 1 text

Vim and Git

Slide 2

Slide 2 text

Who Am I @wikimatze Running vimberlin.de Writing padrinobook.com

Slide 3

Slide 3 text

Workflows

Slide 4

Slide 4 text

Terminal

Slide 5

Slide 5 text

External Tool

Slide 6

Slide 6 text

Vim …

Slide 7

Slide 7 text

Plugins for Vim gitv fugitive vim-merginal

Slide 8

Slide 8 text

gitv is a fugitive extension is a gitk/gitg clone => for me it’s a tig clone see diffs commits, branching, and merging

Slide 9

Slide 9 text

gitv commands :Gitv … opens only gitv :Gitv! … opens only commits which affects the current file yc … yanks the SHA of the commit co … checkout

Slide 10

Slide 10 text

gitv demo

Slide 11

Slide 11 text

fugitive “best Git wrapper of all time”

Slide 12

Slide 12 text

fugitive commands I :Gstatus … git status C-n … go to the next file C-p … go to the previous file - … git add/git reset depending where you are in the windows (mark multiple files in visual mode) …

Slide 13

Slide 13 text

fugitive commands II :Gwrite … stage the current file to index :Gcommit … git commit (press wq for send) :Gblame … git blame :Gremove … git rm

Slide 14

Slide 14 text

fugitive commands III :Gpush … performs a git push :Gmove … rename the current file and add change to index :Gdiff … split the window

Slide 15

Slide 15 text

fugitive demo

Slide 16

Slide 16 text

Handling branches with vim-merginal :Merginal … opens the extra window C … checkout branch under the cursor A … add a branch from the current checked out branch under the cursor