/magit

It's Magit! An Emacs mode for Git.

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

Build Status

It's Magit! An Emacs mode for Git

Magit is an interface to Git for Emacs.

Unlike Emacs's native version control support which strives to provide a unified interface to various version control systems, Magit only supports Git and can therefor take full advantage of its native features.

Magit supports GNU Emacs 23.2 or later; 24.1 or later is recommended. Magit supports Git 1.7.2.5 or later; 1.8.2 or later is recommended. These are the versions in ancient Debian oldstable.

Getting Help

When something breaks please see the curated list of known issues and the FAQ. If that doesn't help check the list of all open issues.

If everything else fails please open a new issue or ask for help on the mailing list.

Getting Started

To get started with Magit, run M-x magit-status. If you are inside a Git repository this opens a buffer that summarizes its status. Otherwise you are first prompted for a repository. Read the short help for magit-mode (C-h m in the status buffer), make some changes to your files, then stage (s) and commit (c) them.

For more details consult the Magit user manual. You can read it on the web or in Emacs with C-u C-h i magit.info.

Magit also has a website.

Installation

Emacs >=24.1 includes a facility that lets you easily download and install packages. Using package.el is the easiest and recommended way to install Magit and its dependencies. If you don't want to use it see the extended installation instructions in INSTALL.md.

The stable Magit version is available from the Marmalade package repository. If you want to install the development version (the master branch) use the Melpa repository instead. Please note that all packages on Melpa are built from the upstream master branch. If you generally want stable versions but the latest Magit use Marmalade and install Magit from Git.

First tell package.el to use one of the package repositories:

(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)

or

(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/") t)

For details please see the website of the package repository of your choosing.

Then install Magit (and its run-time dependencies):

M-x package-install RET magit RET

Dependencies

If you install Magit using package.el then dependencies are automatically being taken care of. Otherwise you have to track down dependencies and install them manually.

  • cl-lib is a new library in Emacs 24.3. Like the old cl it provides various Common Lisp forms, but differs in that symbols are prefixed with cl-. A forward compatibility cl-lib for older versions of Emacs is available from the GNU Elpa repository. You can install it using package.el or get it here.

  • git-commit-mode which is part of the git-modes repository and available as a separate package from Melpa.

  • git-rebase-mode which is part of the git-modes repository and available as a separate package from Melpa.

Some Magit libraries depend on third-party tools or optional git subcommands. See INSTALL.md for more information.

Development

Magit's canonical source repository is hosted on Github.

Magit was started by Marius Vollmer and is now collectively maintained by the Magit Owners Team. Many more people have contributed.

To report bugs and make feature requests please use the issue tracker and Github pull requests. You may also use Magit's Google group. Before making a pull request please read CONTRIBUTING.md.