4 ms·
Ask HN: Best emacs / git integration?
The git wiki lists no less than 6 different ways to integrate git with emacs: http://www.emacswiki.org/emacs/Git . Fortunately, I haven't picked one yet so I hope to benefit from your collective experience.
Here's the current list:
* Magit
* Egg
* egit
* Gitsum
* git-emacs
* GitDwim
Which is better maintained, easier to use, feature complete, makes common things easy, etc.?
Which plugin do you use for git integration for emacs?
- madhouse 16y agoI'm using Magit, it's perfectly fine for my uses (commit, merge, rebase, stash, and branching - usually very little deep plumbing). It has good documentation, I can only recommend it. Sadly, I can't compare it to the others you listed, as Magit was the first one I tried, and never felt any need to try another.
- bryanlarsen 16y agoI guess that is a case where a "me-too" post is useful: count me as another vote for Magit, even if I haven't even tried any of the others.
- febeling 16y agoMagit makes many tasks really easy: pick individual commits from other branches, pick only certains hunks from a file, moving a branch to a remote, taking stash snapshots (leaving and resetting the working directory), and more.
- davnola 16y agoMagit for everyday use because buffers are split into expandable/collapsible sections which makes navigation a breeze (e.g. for adding hunks) vc-annotate is a great interface for git-blame (Magit doesn't have this). vc-annotate-next/prev-revision are seriously handy. Magit's interface for interactive rebase (bound to E in magit-status window - this is not in the latest docs) is not so handy. I tend to drop down into shell. Make sure you have git core editor set to emacsclient -c of course.
- daemianmack 16y agoPerfect; I was just looking for vc-annotate-next today. Magit user here. I love it for its ability to let me do line-level control over what I place in the index. I use the prompt for deep surgery but for general coding/logging/commit-bundling, I haven't found anything better. The documentation for it is great. I wanted something a little more breezy for quick task-centric scanning and made this... http://daemianmack.com/2009/09/24/magit-cheatsheet/# http://daemianmack.com/2009/09/24/magit-cheatsheet/# Maybe it'll be useful to you.
- liangzan 16y agoI've used Magit for a while. Eventually I went back to the command line. The command line is still much faster than Magit
- andreaja 16y agoI'd like something that plugs into dvc-mode, but after my last foray with that I've pretty much given up on doing my git stuff from any interface that isn't the CLI. Do any of these do decent integration with git-svn?
- rmaccloy 16y agoMagit apparently has git-svn support, though I've never used it.
- philjackson 16y agoMagit's git-svn support is very solid. I use it daily.
- rmaccloy 16y agogitsum is an add-on, not a full-featured git mode; so is git-dwim, I believe, although I don't use it personally. Recent Emacs have git support in VC; I tend to just use that since I tend to do anything other than committing (rebasing, switching branches, merging, pushing, etc.) in a terminal.
- draebek 16y agoI most commonly use gitsum which is fast and easy and, in combination with Emacs' diff-mode, lets me edit my pending commits all to hell. (In my experience few other people like doing this.) gitsum is really only good for committing, of course. When I want to do other Git operations I most commonly just go to the command line. If I have to do them from inside Emacs I've found Magit to be usable, DVC as well (though I haven't needed it in my latest Emacs install; I only have Magit currently).
- surki 16y agoI starting using magit recently, but I am still to get used to it. Here is a link discussing about git support in Emacs that I found useful: http://alexott.net/en/writings/emacs-vcs/EmacsGit.html http://alexott.net/en/writings/emacs-vcs/EmacsGit.html
- jcapote 16y agoEgg is awesome, it's a fork of magit, so if you're already using that you'll feel right at home
- misterm 16y agoWhat about running a command prompt from within emacs? I spawn one in my .emacs file with: (shell).
- wglb 16y agoDo you mean in order to run git from the command line within emacs? (Within each emacs instance that I have open, i have at least one shell window open, if not two.)
- misterm 16y agoAdmittedly, there seem to be better solutions out there, but I suppress the "start" page in my .emacs file and start with an empty scratch buffer, or a shell prompt instead. I can just switch the buffer to use the prompt.