awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
magit avatar

magit/magit

0
View on GitHub↗
7,138 Stars·865 Forks·Emacs Lisp·GPL-3.0·7 Aufrufemagit.vc↗

Magit

Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations.

What distinguishes Magit is its granular control over every stage of the version control workflow. Users can select individual diff hunks or lines for staging and unstaging directly within Emacs buffers, compose commit messages using pre-filled templates with guidelines, and create branches from any existing commit, tag, or reference rather than only the current HEAD. The interface supports line-by-line file blame annotation, side-by-side revision comparison via Ediff, and commit range bisection for debugging. Destructive operations require explicit user confirmation to prevent accidental data loss.

The tool covers the full spectrum of Git operations including branch management, merging, rebasing, cherry-picking, and remote repository operations such as cloning, fetching, pulling, and pushing. It provides interactive history browsing with commit log viewing, file history inspection, and arbitrary revision diffing. Conflict resolution presents conflicting file sections side by side for choosing or editing the final version. Additional capabilities include Git bundle creation, patch application, per-branch Git variable configuration, and Git configuration editing from within Emacs.

Documentation and configuration are accessible through Emacs' built-in help and customization systems, with all options exposed through the standard Emacs customization interface.

Features

  • Git and Version Control - Provides a complete Git interface within Emacs for all version control operations.
  • Git Porcelain Wrappers - Ships a complete Git porcelain interface inside Emacs for commits, branches, and diffs.
  • Buffer-Integrated Git Operations - Executes Git commands directly from the editor buffer without requiring a separate terminal or staging tool.
  • Revision Diff Display - Compares the current buffer against the index or any specified revision with word-level highlighting.
  • Branch Management - Provides visual branch management including creation, switching, merging, and deletion.
  • Branch Creation - Provides interactive branch creation from any commit, tag, or reference within Emacs.
  • Staging Interfaces - Provides an Emacs-based staging area for selectively staging hunks, files, or regions.
  • Commit Recording - Records staged modifications as new commits with amend and fixup workflow support.
  • Commit Finalization with Messages - Records staged changes as new commits with user-written messages and template support.
  • Buffer-Based UI Renderers - Renders the entire Git interface as structured, collapsible sections within Emacs text buffers.
  • Git Repository Explorers - Ships an interactive Emacs interface for navigating commit history, file trees, and branch references.
  • Index Staging Operations - Stages file changes to the Git index, preparing them for the next commit.
  • Git Blame Viewers - Provides enhanced, readable views of git blame information for file annotation.
  • Git Branching & Merging - Provides full branch creation, switching, merging, rebasing, and deletion within Emacs.
  • Git Diff Viewers - Displays file-level and hunk-level diffs between working tree, index, and arbitrary revisions.
  • Remote Change Integration - Fetches changes from a remote repository and merges them into the current branch.
  • Git Push Operations - Sends local commits to a configured remote repository via the Git push command.
  • Merge Conflict Resolution - Resolves merge conflicts by presenting conflicting sections side by side for editing.
  • Git History Navigation - Provides interactive commit log, file revision, and blame navigation within Emacs buffers.
  • Remote Repository Operations - Performs cloning, fetching, pulling, and pushing to remote repositories from within Emacs.
  • Repository Browsers - Provides an interactive Emacs buffer for navigating commits, diffs, and file states.
  • Staging and Commit Interfaces - Provides selective staging of files, hunks, or lines with commit message composition.
  • Partial Hunk Staging - Selects specific hunks or lines for staging, leaving other changes unstaged.
  • Staged Changes Previews - Displays differences between the index and the last commit to show changes ready to be committed.
  • Commit Log Displays - Displays commit logs for branches and files directly within Emacs buffers.
  • Commit Cherry Picking Tools - Applies specific commits from one branch to another with full cherry-pick workflow support.
  • Visual History Manipulators - Provides interfaces for visually restructuring a repository's commit timeline.
  • Rebase Operations - Moves branch commits onto a new base, rewriting history with interactive rebase support.
  • Buffer-Based Hunk Staging - Enables granular staging and unstaging by selecting individual diff hunks or lines directly within Emacs buffers.
  • Per-File Diff Displays - Displays changes made to a specific file across commits or between the working tree and index.
  • Git Pull Operations - Provides full Git pull and push operations for synchronizing with remote repositories.
  • Git Command Execution - Executes arbitrary Git commands within Emacs and displays their output, integrating version control into the editor.
  • Transient Command Menus - Provides a modal, context-sensitive menu system for executing Git commands with inline argument editing and completion.
  • Selective Staging Interfaces - Enables granular staging of individual diff hunks or lines directly within the editor buffer.
  • Branch Checkouts - Switches the working tree to an existing branch, updating files and index.
  • Editor-Based Compositions - Opens an editor buffer with a pre-filled template and commit message guidelines to compose a structured commit.
  • Arbitrary Revision Comparisons - Compares any two commits, branches, or tags to present file-level changes between them.
  • Buffer File Staging Operations - Stages or unstages the entire content of the file visited in the current editor buffer.
  • Buffer-Based Hunk Staging - Stages or reverts individual diff hunks directly from the editor buffer without a separate staging tool.
  • Section-Based Buffer Organizers - Organizes repository information into nested, collapsible sections within buffers for hierarchical navigation.
  • Ediff-Based Comparisons - Provides side-by-side and unified diff comparisons using Emacs' Ediff subsystem for revision comparison and conflict resolution.
  • Working Tree Diffs - Shows differences between the version control index and the current working directory.
  • Version Control Conflict Resolutions - Provides methods for merging concurrent changes in version-controlled codebases without data loss.
  • Command Execution Transactions - Manages Git command execution as atomic transactions with automatic buffer refresh and error handling.
  • Revisions-Based Creations - Creates new branches from any existing commit, tag, or reference, not just the current HEAD.
  • Branch Deletions with Confirmation - Ships branch deletion with explicit user confirmation to prevent accidental data loss.
  • Automatic Buffer Refreshes - Automatically updates Magit buffers to reflect repository changes without manual intervention.
  • Diff Statistics Summaries - Displays the number of insertions and deletions for each file in the current diff.
  • Command-Line Output Parsing - Parses raw Git command output into structured Emacs Lisp data structures for display and manipulation.
  • Diff-Based Direct Commits - Creates a new commit using selected changes from a diff, bypassing the staging area.
  • Commit Amendments - Modifies the most recent commit by adding new changes or editing its message.
  • Branch Renaming Operations - Change the name of an existing branch and update its upstream tracking.
  • Tool-Specific Customizations - Adjusts nearly every aspect of Magit's appearance and behavior through Emacs' standard customization interface.
  • Customization System Integrations - Exposes all configuration options through Emacs' standard customization system for consistent behavior.
  • Line Blame Display - Shows the commit, author, and date for each line of a file, revealing when and why each change was made.
  • Diff Region Blame Annotations - Shows the commit that last modified a selected region in a diff using git blame.
  • Editor-Based Configurations - Adjusts Git configuration settings directly within the Emacs interface without using the command line.
  • Region-Based Diff Filters - Restricts the diff display to a selected hunk or region of changes for focused review.
  • Ediff-Based Revision Comparisons - Provides side-by-side file revision comparison using Emacs' Ediff subsystem.
  • Remote Repository Cloning - Downloads remote repositories to the local machine by specifying their URL.
  • File History Logs with Diffs - Shows the complete commit log for a single file with diffs for each revision.
  • Repository Initialization - Creates new Git repositories from scratch within the Emacs interface.
  • Commit History Bisecting Tools - Automates binary search across commit history to identify the commit introducing a bug.
  • Selective Hunk Applications - Applies selected hunks of changes from the diff to the current working tree.
  • Selective Hunk Reversions - Undoes selected hunks of changes in the working tree to restore files to their previous state.
  • Hunk Reversions - Reverses selected hunks in the working tree to undo their changes.
  • Selective Hunk Applications - Applies selected changes from a diff to the working tree, staging only the chosen hunks.
  • Interactive Rebase Editors - Provides an interactive rebase interface for editing any reachable commit and rewriting history.
  • Patch Application - Applies patch files to the current repository, integrating changes from external sources.
  • Commit Message Editors - Opens an Emacs buffer with a pre-filled template for composing structured commit messages.
  • Collapse Sections - Inserts new collapsible regions into the current buffer to organize related content.
  • User Confirmation Dialogs - Requires explicit user confirmation before executing destructive version control actions.

Star-Verlauf

Star-Verlauf für magit/magitStar-Verlauf für magit/magit

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Magit

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Magit.
  • facebook/saplingAvatar von facebook

    facebook/sapling

    6,885Auf GitHub ansehen↗

    Sapling is a scalable version control system designed to handle repositories with millions of files and commits, making it suitable for large monorepos. It reads and writes Git repositories natively, maintaining full interoperability with Git remotes and standard workflows, and provides an interactive commit graph for exploring repository history and state. The system uses a bookmark-based branching model that eliminates named branches in favor of lightweight, movable labels for commits. It tracks how each commit was created, amended, rebased, or split through commit-graph-based mutation trac

    Rust
    Auf GitHub ansehen↗6,885
  • elidianaandrade/git-github-learning-questAvatar von elidianaandrade

    elidianaandrade/git-github-learning-quest

    10,830Auf GitHub ansehen↗

    This is a structured, gamified learning resource for Git and GitHub. It guides learners through code versioning fundamentals using a progression of themed levels and achievements, covering everything from initial repository setup to advanced collaboration workflows. The material is organized around core Git concepts such as branch isolation, commit snapshots, pull request workflows, remote synchronization, and stash management, all supported by a structured glossary of versioning terms. The project distinguishes itself by teaching Git and GitHub workflows through a hands-on, achievement-based

    gitgit-commandsgit-manual
    Auf GitHub ansehen↗10,830
  • sindrets/diffview.nvimAvatar von sindrets

    sindrets/diffview.nvim

    5,356Auf GitHub ansehen↗

    diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits. The project includes specialized utilities for managing the Git index, such as a stage manager for staging specific diff hunks directly from a buffer. It also features a multi-way diff layout for resolving merge conflicts by comparing target and source branches during merges or rebases. Beyo

    Luadiffgitneovim
    Auf GitHub ansehen↗5,356
  • zimfw/zimfwAvatar von zimfw

    zimfw/zimfw

    4,632Auf GitHub ansehen↗

    zimfw is a Zsh configuration framework and plugin manager designed to customize and optimize the Zsh shell environment. It functions as a system for installing, updating, and pinning shell extensions and themes from remote or local repositories. The framework focuses on shell performance by using byte-code compilation of scripts to reduce startup time and improve execution speed. It employs a declarative configuration model for module management, allowing for version-pinned dependency resolution and the ability to fetch modules without full git clones to accelerate installation. The project

    Shell
    Auf GitHub ansehen↗4,632
Alle 30 Alternativen zu Magit anzeigen→

Häufig gestellte Fragen

Was macht magit/magit?

Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command…

Was sind die Hauptfunktionen von magit/magit?

Die Hauptfunktionen von magit/magit sind: Git and Version Control, Git Porcelain Wrappers, Buffer-Integrated Git Operations, Revision Diff Display, Branch Management, Branch Creation, Staging Interfaces, Commit Recording.

Welche Open-Source-Alternativen gibt es zu magit/magit?

Open-Source-Alternativen zu magit/magit sind unter anderem: facebook/sapling — Sapling is a scalable version control system designed to handle repositories with millions of files and commits,… elidianaandrade/git-github-learning-quest — This is a structured, gamified learning resource for Git and GitHub. It guides learners through code versioning… sindrets/diffview.nvim — diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing… zimfw/zimfw — zimfw is a Zsh configuration framework and plugin manager designed to customize and optimize the Zsh shell… progit/progit2 — This project is a comprehensive educational resource and guide for learning the Git version control system. It serves… lewis6991/gitsigns.nvim — Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging…