From WikEmacs
Jump to: navigation, search
Description Git integration for Emacs
Author Marius Vollmer
Maintainer Jonas Bernoulli

Magit is an Emacs mode for working with Git repositories. It provides a convenient interface for the most common Git operations.

Basic setup

Install Magit from MELPA:

   package-install RET magit RET

And require it in your dotfile:

(require 'magit)

Helpful keybindings

  • M-x magit-status is the main entry point to Magit. The author recommends binding this command to "a key of your choice". [C-x g] is a common choice:
(global-set-key (kbd "C-x g") 'magit-status)

The official Magit documentation is excellent and should be consulted for further information.

Common Customization

Change magit diff colors

If you want more common colors (green and red), instead of psyche highlighting:

The following way seems not working with recent Magit.

(eval-after-load 'magit
     (set-face-foreground 'magit-diff-add "green3")
     (set-face-foreground 'magit-diff-del "red3")
     (unless window-system
       (set-face-background 'magit-item-highlight "black"))))

Try this with recent Magit.

   ;; custom-set-faces was added by Custom.
   ;; If you edit it by hand, you could mess it up, so be careful.
   ;; Your init file should contain only one such instance.
   ;; If there is more than one, they won't work right.
   '(magit-diff-added ((t (:background "black" :foreground "green3"))))
   '(magit-diff-removed ((t (:background "black" :foreground "red3")))))

Use ido to checkout branches

(setq magit-completing-read-function 'magit-ido-completing-read)


magit-filenotify: refresh status buffer when git tree changes

This module, to be installed with ELPA, comes with a minor mode magit-filenotify which tracks changes in the source tree using file-notify and refreshes the magit status buffer. Emacs 24.4 with `file-notify-support' is required for it to work.

home and documentation:

See Also

Project Pages