Magit User Manual
Magit is an interface to the version control system Git, implemented as an Emacs package. Magit aspires to be a complete Git porcelain. While we cannot (yet) claim that Magit wraps and improves upon each and every Git command, it is complete enough to allow even experienced Git users to perform almost all of their daily version control tasks directly from within Emacs. While many fine Git clients exist, only Magit and Git itself deserve to be called porcelains.
This manual is for Magit version 4.5.0.
Copyright (C) 2015-2026 Jonas Bernoulli <emacs.magit@jonas.bernoulli.dev>
You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Table of Contents
- A.2.1 Magit is slow
- A.2.2 I changed several thousand files at once and now Magit is unusable
- A.2.3 I am having problems committing
- A.2.4 I am using MS Windows and cannot push with Magit
- A.2.5 I am using macOS and SOMETHING works in shell, but not in Magit
- A.2.6 Expanding a file to show the diff causes it to disappear
- A.2.7 Point is wrong in the
COMMIT_EDITMSGbuffer - A.2.8 The mode-line information isn’t always up-to-date
- A.2.9 A branch and tag sharing the same name breaks SOMETHING
- A.2.10 My Git hooks work on the command-line but not inside Magit
- A.2.11
git-commit-modeisn’t used when committing from the command-line - A.2.12 Point ends up inside invisible text when jumping to a file-visiting buffer
- A.2.13 I am no longer able to save popup defaults