Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
It's Magit! A Git Porcelain inside Emacs.
Emacs Lisp Makefile
branch: next
Failed to load latest commit information.
Documentation Merge pull request #1843 from nex3/name-change
t bump copyright years
.gitignore Makefile: output stats locally by default
.mailmap AUTHORS.md: update list of contributors
.travis.yml fight travis once more
AUTHORS.md AUTHORS.md: update list of contributors
CONTRIBUTING.md Fix some typos in the CONTRIBUTING document
COPYING Restore GPL
Makefile commit transient changes to two dedicated wip refs
README.md DOC : Correct load path in install directions
git-commit.el when committing, always save to message ring
git-rebase.el git-rebase-mode-show-keybindings: account for difference
magit-apply.el commit transient changes to two dedicated wip refs
magit-bisect.el consolidate the functions that return the repository toplevel
magit-blame.el consolidate the functions that return the repository toplevel
magit-commit.el improve usage information shown by magit-log-select
magit-core.el put popup options in correct groups, suppress unnecessary options
magit-diff.el magit-show-commit: Fix commit check
magit-ediff.el magit-ediff-stage: ensure index buffer is writable and up-to-date
magit-extras.el commit transient changes to two dedicated wip refs
magit-git.el remove unused magit-decode-git-paths
magit-log.el commit transient changes to two dedicated wip refs
magit-mode.el commit transient changes to two dedicated wip refs
magit-pkg.el require at least version 24.4 of Emacs
magit-popup.el require at least version 24.4 of Emacs
magit-process.el do not require autorevert
magit-remote.el avoid needlessly reverting file-visiting buffers
magit-section.el magit-section-goto-successor: correctly determine root section
magit-sequence.el Fix typo in magit-rebase-from
magit-stash.el commit transient changes to two dedicated wip refs
magit-utils.el commit transient changes to two dedicated wip refs
magit-wip.el commit transient changes to two dedicated wip refs
magit.el commit transient changes to two dedicated wip refs
with-editor.el make with-editor--pid buffer-local as always intended

README.md

Build Status Gratipay

It's Magit! A Git Porcelain inside Emacs

The Magit wiki contains a list of FREQUENTLY ASKED QUESTIONS, please do consult it.

Magit is in FEATURE FREEZE, keep that in mind when making feature requests.

Magit is an interface to the version control system Git, implemented as an Emacs package.

Unlike the VC package which is part of Emacs and strives to provide a unified interface to various version control systems, Magit only supports Git and can therefore better take advantage of its native features.

Magit 2.0.50 requires at least GNU Emacs 24.4 and Git 1.9.4.

Installation

You are looking at the README.md of the development branch. For instructions on how to install the stable version of Magit see the extended installation instructions instead.

First uninstall all instances of magit, git-commit-mode and git-rebase-mode that you have currently installed. Doing this, and doing it carefully (e.g. did you also install Magit using your distributions package manager at some point?), is very important. It only takes a few minutes to do this, but if everyone does it, then that will save me hours of investigating "impossible" issues, which I cannot actually reproduce myself.

Then install package dash using install-package. This is now the only external dependency; the libraries git-commit.el and git-rebase.el are now part of the Magit repository. (These libraries were previously part of the Git-Modes repository and their names used to end with -mode.el).

Then clone the Magit repository and check out the "next" branch:

$ git clone git://github.com/magit/magit.git ~/.emacs.d/site-lisp/magit
$ cd ~/.emacs.d/site-lisp/magit
$ git checkout next

Then compile the libraries:

$ make lisp

Finally add this to your init file:

(add-to-list 'load-path "~/.emacs.d/site-lisp/magit")
(require 'magit)

To update Magit use:

$ git pull
$ make clean lisp

To view all available targets use make help.

Getting Help

When something doesn't work as expected please see the FAQ, and the list of open issues, and use the search box at the top of the latter to find older related issues. If everything else fails ask for help on the Emacs Stackexchange site or the mailing list.

Contributions

Magit is hosted on Github. Please contribute by reporting bugs and suggesting features on the issue tracker or by making code contributions using pull requests. Before opening a pull request read the brief contribution guidelines.

Please also consider supporting development by making a monetary donation. Thank you!

Magit was started by Marius Vollmer and is now maintained by Jonas Bernoulli. Other Magitians (former maintainers) are Nicolas Dudebout, Peter J. Weisberg, Phil Jackson, Rémi Vanicat, and Yann Hodique.

Many more people have contributed code and suggested features.

Thanks to all of you, may (the history of) the source be with you!

Something went wrong with that request. Please try again.