EVERYTHING XIAOMI
Get listed

Magit

Magit is a text-based Git interface implemented as an Emacs package.

Place
#21 of 62
Score
6.4
Magit's website

What Magit is

Magit is a text-based Git interface implemented as an Emacs package. Its status buffer summarizes repository details such as the current branch, unpulled and unpushed changes, and staged or unstaged work. Users can stage or unstage entire files, individual hunks or selected parts of a hunk, and create or edit commits with amend, squash and fixup workflows. Magit supports common operations including logging, cloning, pushing, merging, rebasing, cherry-picking, reverting and blaming. It runs Git commands and can show the commands it invokes, then refreshes relevant buffers after commands that may alter repository state. The companion Forge package connects to GitHub and GitLab to fetch issues, pull requests and other data through their APIs; it cannot provide GitLab notifications because that API does not expose them. Magit is free for Linux, macOS and Windows, and is available through MELPA and MELPA Stable. Its manual says basic Emacs skills and prior Git and Emacs experience are needed to make full use of it, and notes that it does not wrap every Git command.

Good

  • Status buffer displays branch and staged or unstaged changes.
  • Stage whole files, hunks or selected hunk parts.
  • Commit workflows include amend, squash and fixup.
  • Free package for Linux, macOS and Windows.

Watch out

  • Requires basic Emacs skills and prior Git experience.
  • Does not wrap every Git command.
  • Buffer refreshes from scratch can be slow in large repositories.

Who it suits

Magit suits people who already use Emacs and Git and want to handle many version-control tasks from within Emacs. Its companion Forge package may suit users who want GitHub or GitLab issues and pull requests there as well.

Verdict

Magit brings many daily Git tasks into Emacs, with detailed staging and commit controls. It is a better fit for users comfortable with Emacs; the manual notes some Git commands remain outside its coverage.

Plans and prices

From Magit's own pricing page, checked 9 Oct 2026.

All about pricing
PlanPriceWhat it gives you
MagitFreeEmacs package · installed through Emacs’ package manager or from its development repository

The facts

Each one read from Magit's own pages, with the date it was checked.

What it does

Commit support
Magit supports creating and editing commits, including amend, squash, and fixup workflows.checked 8 Oct 2026
Forge integration
The companion Forge package works with GitHub and GitLab from Magit and Emacs, fetching issues and pull requests through the forge API.checked 9 Oct 2026
Forge integrations
The companion Forge package works with GitHub and GitLab to fetch issues, pull requests, and other data through their APIs.checked 8 Oct 2026
Forge support limits
Forge documents two supported forges, three partially supported forges, and four semi-forges; partial support covers functionality that does not require the API.checked 9 Oct 2026
Git operations
Documented operations include logging, cloning, pushing, merging, rebasing, cherry-picking, reverting, and blaming.checked 9 Oct 2026
Installation
Magit is available through the MELPA and MELPA Stable package archives.checked 8 Oct 2026
Integration limitation
Forge cannot provide GitLab notifications because the GitLab API does not expose them.checked 8 Oct 2026
License
The Magit manual is distributed under the GNU General Public License version 3 or later.checked 9 Oct 2026
Live status
The status buffer shows repository information including the current branch, unpulled and unpushed changes, and staged and unstaged changes.checked 9 Oct 2026
Performance
The manual notes that refreshing buffers from scratch can be slow in large repositories.checked 9 Oct 2026
Product
Magit is a Git interface implemented as an Emacs package.checked 9 Oct 2026
Purpose
Magit is a complete text-based interface to Git implemented as an Emacs package.checked 8 Oct 2026
Refresh
Magit refreshes its current buffer and the repository status buffer after commands that may change repository state.checked 9 Oct 2026
Requirements
The manual says users need basic Emacs skills and some prior experience with both Git and Emacs to make full use of Magit.checked 9 Oct 2026
Safety
Potentially destructive commands often require confirmation, and optional work-in-progress modes can save tracked files to recovery references.checked 9 Oct 2026
Scope
It supports most daily Git version control tasks within Emacs, while its manual says it does not yet wrap every Git command.checked 9 Oct 2026
Staging
Users can stage or unstage files, hunks, or part of a hunk from the status buffer.checked 9 Oct 2026
Status view
Magit presents actionable Git information in status buffers and refreshes the output when it becomes outdated.checked 8 Oct 2026
Support
The project directs users to its FAQ, manual, issue tracker search, Emacs Stack Exchange, Reddit, and GitHub Discussions, and asks users not to use GitHub issues for support requests.checked 9 Oct 2026
Workflow
Magit runs Git commands and can show users the commands it runs.checked 8 Oct 2026

Alternatives to Magit

All alternatives
  1. 1Unity logo

    Unity

    Free planAndroidiOSWebAPI
    8.4Free plan
  2. 2Unity Version Control logo

    Unity Version Control

    Free planWebAPILinuxmacOS
    8.1Free plan
  3. 3Perforce P4 (Helix Core) logo

    Perforce P4 (Helix Core)

    Free planWebAPILinuxmacOS
    7.9From $39 a month
  4. 4Diversion logo

    Diversion

    Free planWebAPILinuxmacOS
    7.8From $25 a month
  5. 5GitHub CodeQL logo

    GitHub CodeQL

    Free planWebExtensionLinuxmacOS
    7.5From $30 a month
  6. 6

    GitUI

    Free planOpen sourceAndroidLinuxmacOSSelf-hosted
    7.5Free plan