Skip to content
Emacs Got Git. Egg is an emacs interface to git. Please see the official repo at byplayer/egg.
Emacs Lisp
Failed to load latest commit information.
doc more build rules in Makefile for manual Oct 31, 2012
.gitignore move basic git routines to egg-git.el Oct 28, 2012
CHANGELOG.markdown update changelog Sep 22, 2012
Makefile more build rules in Makefile for manual Oct 31, 2012
README.markdown update README Oct 10, 2012
egg-const.el more reorg into multi-files Oct 28, 2012
egg-custom.el visual staging Oct 28, 2012
egg-git.el fix stash apply bug when there's conflicts in index Oct 31, 2012
egg-grep.el removing more cl's stuffs Oct 29, 2012
egg-key.el more documentation Oct 31, 2012
egg.el preserve position after staging/unstaging Nov 1, 2012


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:

Something went wrong with that request. Please try again.