Emacs Got Git. This is a clone of Marius's excellent magit. Egg is an emacs interface to git.
Emacs Lisp Makefile
Pull request Compare This branch is 435 commits ahead of noguchit:master.
Latest commit cadc5c7 Mar 30, 2016 Yukio Goto bump up version and update change log
Failed to load latest commit information.
doc logo Nov 2, 2012
.gitignore add reloading facility Nov 15, 2012
CHANGELOG.markdown bump up version and update change log Mar 31, 2016
Makefile cleanup svn remote handlers Dec 10, 2012
README.markdown add melpa badge Feb 9, 2015
egg-base.el fix for egg's attempting to autoload edmacro. Mar 23, 2016
egg-const.el fixed reflog bugs and reversed mapping order for help text Jan 1, 2013
egg-custom.el visual staging Oct 29, 2012
egg-diff.el fixed (???) LF/CR bug in Win32 Nov 19, 2012
egg-git.el fixup! fix: support slashes in branch/tag names Dec 21, 2015
egg-key.el more documentation Oct 31, 2012
egg-svn.el fix push to trunk Jan 9, 2013
egg.el bump up version and update change log Mar 31, 2016


Egg (Emacs Got Git).



Egg is an Emacs interface to git. It's a suite composed of a minor-mode and various special-buffers presenting different UIs to help the user performing many git operations.

  • egg-minor-mode: providing git-specific vc-look-alike interface including similar key-bindings, a minor-mode menu and history annotations (blame).
  • egg's status-buffer:
    • index manipulation/commit preparation
    • interactive rebase stepping
    • merge conflict resolution
    • stashing work-in-progress
    • adding ignore pattern
    • staging new files
    • ediff or ediff3 launching. (e.g. 3-way ediff of work-dir/INDEX/HEAD, 3-way ediff of work-dir/theirs/ours)
  • egg's log-buffer
    • browse repo's history and reflogs
    • ref (tag, branch, etc) creation and deletion
    • push and fetch
    • start merge/rebase/interactive-rebase session
    • anchor HEAD (reset)
    • search history (pickaxe), grep commit message.
    • compare revisions
  • egg's file-log-buffer: restricted version of the log-buffer, used to browse history of a single file.
  • egg's query:commit-buffer: restricted variation of the log-buffer, used to browse history-search's results (pickaxe or message grep)
  • egg-grep: a compile-mode which can grep files in non-checkout git revisions.
  • egg's commit-log-edit buffer: used to compose the commit-message for the upcoming commit. it can do some minor index manipulation. gpg-signature can also be enabled.
  • egg's tag:msg-buffer: used to compose the message of an annotated tag. gpg-signature can also be enabled.
  • egg's diff-buffer: used to view the delta between file or repo revisions.


The design of the status-buffer Egg was borrowed/stolen from Magit. Egg, however has much more functionalities than the status buffer.


Magit is an interface to the version control system Git, implemented by Marius Voller. His code at: http://philjackson.github.com/magit/