A Git Porcelain inside Emacs

Magit is a complete text-based user interface to Git. It fills the glaring gap between the Git command-line interface and various GUIs, letting you perform trivial as well as elaborate version control tasks with just a couple of mnemonic key presses. Magit looks like a prettified version of what you get after running a few Git commands but in Magit every bit of visible information is also actionable to an extent that goes far beyond what any Git GUI provides and it takes care of automatically refreshing this output when it becomes outdated. In the background Magit just runs Git commands and if you wish you can see what exactly is being run, making it possible for you to learn the git command-line by using Magit.

Using Magit for a while will make you a more effective version control user. Magit supports and streamlines the use of Git features that most users and developers of other Git clients apparently thought could not be reasonably mapped to a non-command-line interface. Magit is both faster and more intuitive than either the command line or any GUI and these holds for both Git beginners and experts alike.

If you are new to Magit, then either one of the following two articles should help understanding how it differs from other Git clients. Click the triangles to expand brief summaries.

Visual Magit walk-through If you are completely new to Magit, then this article is a good visual introduction. Almost everything that you see in Magit can be acted on by pressing some key, but that's not obvious from just seeing how Magit looks. The screenshots and accompanying text of this article explain how to perform a variety of actions on Magit's output.
Magit, the magical Git interface Magit differs significantly from other Git interfaces, and its advantages are not immediately obvious simply from looking at a few screenshots as presented in the preceding article. This article discusses Magit's properties in somewhat more abstract terms.

Or you might prefer a video introduction.


All news.




When something doesn’t work as expected then please first see the FAQ. Then also try the list of open issues and use the search box at the top of that page to find older related issues. You should also consult the manual and ask a general-purpose search engine.

If that doesn’t answer your question, then ask for help on the Emacs Stackexchange site, the Emacs Subreddit or Github discussions.

Please do NOT use the GitHub issue tracker for support requests. We only use it for feature requests and bug reports.


Magit was started by Marius Vollmer, and is now maintained by Jonas Bernoulli, Kyle Meyer, and Noam Postavsky. 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.

Over the years a lot of people supported development financially, including the backers of the 2017 crowdfunding campaign.