Description: | fugitive.vim may very well be the best Git wrapper of all time. Check out these
features:
View any blob, tree, commit, or tag in the repository with :Gedit (and :Gsplit,
:Gvsplit, :Gtabedit, ...). Edit a file in the index and write to it to stage
the changes. Use :Gdiff to bring up the staged version of the file side by side
with the working tree version and use Vim's diff handling capabilities to stage
a subset of the file's changes.
Bring up the output of git-status with :Gstatus. Press `-` to add/reset a
file's changes, or `p` to add/reset --patch. And guess what :Gcommit does!
:Gblame brings up an interactive vertical split with git-blame output. Press
enter on a line to reblame the file as it stood in that commit, or`o` to open
that commit in a split.
:Gmove does a git-mv on a file and simultaneously renames the buffer. :Gremove
does a git-rm on a file and simultaneously deletes the buffer.
Use :Ggrep to search the work tree (or any arbitrary commit) with git-grep,
skipping over that which is not tracked in the repository. :Glog loads all
previous revisions of a file into the quickfix list so you can iterate over
them and watch the file evolve!
:Gread is a variant of `git checkout -- filename` that operates on the buffer
rather than the filename. This means you can use `u` to undo it and you never
get any warnings about the file changing outside Vim. :Gwrite writes to both
the work tree and index versions of a file, making it like git-add when called
from a work tree file and like git-checkout when called from the index or a
blob in history.
Add an indicator with the current branch in (surprise!) your statusline.
Oh, and of course there's :Git for running any arbitrary command. |