Git & diffs

Magit — a full git porcelain inside the editor — plus general two- and three-way diffing.

TopicWhat it covers
MagitMagit: git porcelain inside Lattice — status, commit, diff, log, blame, stash, branch, rebase, and transient dispatch menus, all backed by the VCS subsystem.
The status buffermagit-status: the primary magit workhorse — staged / unstaged / untracked sections, stashes, recent commits, lazy inline diffs (via = for files, for stashes), a dedicated per-file diff buffer (dd), line-, hunk- and file-level staging (s/u/x), commit (cc/ca), and context-aware visit (, which opens the commit buffer for a commit entry and, inside a diff, the right version of the file at the right line and column).
Transient menusmagit-transient: the dispatch (C-c g) and file-dispatch (C-c f) grouped menus. C-c g opens every magit buffer plus fetch/pull/push, with commit and stash submenus. C-c f stages/unstages/discards and opens diff/log/blame for the current buffer's file. Keys follow Emacs magit's own. The substrate also supports toggleable flags, argument inputs, and live previews, but no shipped magit menu uses them yet.
Diff & mergeDiff & merge: :diffthis / :diffsplit, hunk navigation (]c / [c), do / dp to get/put hunks, sign column, two- and three-way.