Fugitive.vim

:Gedit branchname:/path/to/file
 " autocompletion for branchname and fpath
:Gedit SHA-hash (any git object, blob, tag, tree,
 " hit enter on parent in tree --> goes to this commit
 " git ls-tree sha-hash --> get version of file at the time of commit/tree object
   " --> git show hash
   " in fugitive on a tree press "a", toggles between git ls-tree and git show
   " in ls-tree view we can go into each sub-tree or inspect blobsx
   " go back to where we started :edit %:h
   " :Gedit no arguments --> working tree version of the current file


   " :0Glog --> quickfix window for all previous commits for the file

   " working copy :Ggrep <pattern>
   " different branch  :Ggrep <pattern> <branch>