If you’re using Emacs, then I’m sure you’ve heard of Magit. Go read something else, like Helen DeWitt’s The Last Samurai.
If you’re using Vim, then you should use Vimagit as your interface to git.
git
has the ability to stage and commit pieces of a
file rather than the whole file. It’s crucial to being
able to edit a file naturally and yet still commit
atomically. This
ability is hard to use without some sort of wrapper. git add -p
sucks.
Try it for yourself if you don’t believe me.
Vimagit solves that problem. Try it out. Then the only things left to do are push your code, which can be done on the command line, or with Fugitive.
I recommend using the next
branch. If you use
vim-plug, add this line to your
vimrc
:
Plug 'https://github.com/jreybert/vimagit', {'branch': 'next', 'on': ['Magit', 'MagitOnly']}