Magit
magit.vc
What it is
Magit is a free text-based Git interface implemented as an Emacs package for Windows, macOS, and Linux. It supports routine repository work including logging, cloning, pushing, merging, rebasing, cherry-picking, reverting, and blaming. Status buffers show the current branch, unpulled and unpushed changes, plus staged and unstaged work, and refresh after state-changing commands. Users can stage or unstage whole files, individual hunks, or selected hunk sections, then create or edit commits with amend, squash, and fixup workflows. Magit runs Git commands and can display them. The companion Forge package connects with GitHub and GitLab APIs for issues, pull requests, and other data. Magit is distributed under GNU GPL version 3 or later and installs through MELPA or MELPA Stable. The manual says it does not wrap every Git command, requires basic Emacs and Git experience, and may refresh large repositories slowly.
Spec sheet
- Purpose
- Magit is a complete text-based interface to Git implemented as an Emacs package.Read 8 Oct 2026 · docs.magit.vc
- Product
- Magit is a Git interface implemented as an Emacs package.Read 9 Oct 2026 · docs.magit.vc
- 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.Read 9 Oct 2026 · magit.vc
- License
- The Magit manual is distributed under the GNU General Public License version 3 or later.Read 9 Oct 2026 · docs.magit.vc
- Commit support
- Magit supports creating and editing commits, including amend, squash, and fixup workflows.Read 8 Oct 2026 · docs.magit.vc
- Forge integration
- The companion Forge package works with GitHub and GitLab from Magit and Emacs, fetching issues and pull requests through the forge API.Read 9 Oct 2026 · docs.magit.vc
- Forge integrations
- The companion Forge package works with GitHub and GitLab to fetch issues, pull requests, and other data through their APIs.Read 8 Oct 2026 · docs.magit.vc
- 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.Read 9 Oct 2026 · docs.magit.vc
- Git operations
- Documented operations include logging, cloning, pushing, merging, rebasing, cherry-picking, reverting, and blaming.Read 9 Oct 2026 · docs.magit.vc
- Installation
- Magit is available through the MELPA and MELPA Stable package archives.Read 8 Oct 2026 · docs.magit.vc
- Integration limitation
- Forge cannot provide GitLab notifications because the GitLab API does not expose them.Read 8 Oct 2026 · docs.magit.vc
- Live status
- The status buffer shows repository information including the current branch, unpulled and unpushed changes, and staged and unstaged changes.Read 9 Oct 2026 · docs.magit.vc
- Performance
- The manual notes that refreshing buffers from scratch can be slow in large repositories.Read 9 Oct 2026 · docs.magit.vc
- Refresh
- Magit refreshes its current buffer and the repository status buffer after commands that may change repository state.Read 9 Oct 2026 · docs.magit.vc
- Requirements
- The manual says users need basic Emacs skills and some prior experience with both Git and Emacs to make full use of Magit.Read 9 Oct 2026 · docs.magit.vc
- Safety
- Potentially destructive commands often require confirmation, and optional work-in-progress modes can save tracked files to recovery references.Read 9 Oct 2026 · docs.magit.vc
- Scope
- It supports most daily Git version control tasks within Emacs, while its manual says it does not yet wrap every Git command.Read 9 Oct 2026 · docs.magit.vc
- Staging
- Users can stage or unstage files, hunks, or part of a hunk from the status buffer.Read 9 Oct 2026 · docs.magit.vc
- Status view
- Magit presents actionable Git information in status buffers and refreshes the output when it becomes outdated.Read 8 Oct 2026 · magit.vc
- Workflow
- Magit runs Git commands and can show users the commands it runs.Read 8 Oct 2026 · magit.vc
Plans and prices
Strong points and limits
Strong points
- Free Emacs package for three desktop platforms
- Stage whole files or selected hunk parts
- Supports amend, squash, and fixup commits
- Shows Git commands it runs
- Forge retrieves GitHub and GitLab data
Limits
- Requires prior Emacs and Git experience
- Does not wrap every Git command
- Large repositories may refresh slowly
- Forge cannot provide GitLab notifications
Who it suits
It suits developers comfortable with Emacs and Git who want daily version-control tasks inside Emacs. Users needing every Git command or fast refreshes in large repositories should review its stated limits.
Verdict
Magit brings substantial Git workflow coverage into Emacs, with detailed status views and optional Forge integrations. Its learning requirements and incomplete command coverage matter for users seeking a universal Git interface.
Where Specifiction places it
- Version Control Software#23 of 628.0