Magit

A complete text-based Git interface that runs inside GNU Emacs.

These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.

About Magit

Magit is a text-based interface to Git inside Emacs. It shows repository status in a form similar to Git's own output, but every item is actionable. Short mnemonic key sequences stage hunks, commit, rebase and handle more elaborate tasks, and the view refreshes automatically.

Magit runs ordinary Git commands in the background and can show you exactly which ones it ran, which helps you learn the command line. Companion packages such as Forge add work with Git forges. Detailed manuals are available.

Strengths

  • Every piece of displayed information is actionable
  • Supports advanced Git features through mnemonic keys
  • Can show the Git commands it runs
  • Thorough manuals and reference card

Limitations

  • Requires GNU Emacs
  • Keyboard-driven interface takes time to learn

Details

Pricing
FreeFree and open source, funded by sponsorships.
License
Open source, license not stated
Developer
The Magit contributors
Platforms
Windows, macOS, Linux
How it runs
Downloadable app
Account
Not required
Works offline
Yes
Best suited for
Emacs users who want a fast, full Git interface
Last verified
Added
Provenance
Facts checked against the developer's own pages and store listings, 1 sources on file.

Alternatives to Magit

Compare all

Software that can replace Magit for an important use case, and what changes if you switch.

  • Neogit

    An interactive Git interface for Neovim, modelled on Emacs Magit.

    Neogit brings a Magit-modelled, keyboard-driven Git interface to Neovim, so you switch editors from GNU Emacs to Neovim to keep the same workflow.

  • Gitu

    A terminal user interface for Git, written in Rust and inspired by Emacs Magit.

    Gitu offers a Magit-style workflow and familiar keybindings in a standalone Rust terminal app, without Emacs, though some Magit features are still missing.

  • fugitive.vim

    A Vim plugin that runs Git commands and handles staging, blame and diffs inside the editor.

    fugitive.vim moves Git work into Vim with the :Git command and staging, blame and diff views, and assumes you already know Git commands.

  • lazygit

    A terminal interface for Git that makes staging chunks, interactive rebase and stashing things you actually do.

    lazygit is a standalone MIT-licensed terminal interface with line staging and list-based interactive rebase, so you no longer need Emacs but must learn new keybindings.

  • GitUI

    A terminal interface for git that is fast on huge repositories and controlled entirely from the keyboard.

    GitUI is a standalone MIT-licensed terminal interface that is fast on huge repositories and stages by line, though interactive rebase support is limited.

  • tig

    Browse Git history and stage changes in a terminal interface.

    tig is a standalone GPL-2.0 terminal interface for history browsing and chunk-level staging, which replaces Emacs with any suitable terminal environment.

Magit as an alternative

Listings that name Magit as an alternative.

  • GitLens

    A Visual Studio Code extension that adds blame, commit history and commit graph views.

    Magit is a free open-source Git interface inside GNU Emacs covering advanced Git features, which requires moving from VS Code to Emacs.

Similar software

Related functionality, not necessarily a direct replacement.

Report a wrong fact or a dead link on this listing