magit Atom Feed

Description
A Git porcelain inside Emacs
Latest
magit-4.4.2.0.20251006.184033.tar (.sig), 2025-Oct-06, 1.75 MiB
Maintainer
Jonas Bernoulli <emacs.magit@jonas.bernoulli.dev>, Kyle Meyer <kyle@kyleam.com>
Website
https://github.com/magit/magit
Browse ELPA's repository
CGit or Gitweb
Badge
Manual
magit

To install this package from Emacs, use package-install or list-packages.

Full description

Magit is a text-based Git user interface that puts an unmatched focus
on streamlining workflows.  Commands are invoked using short mnemonic
key sequences that take the cursor’s position in the highly actionable
interface into account to provide context-sensitive behavior.

With Magit you can do nearly everything that you can do when using Git
on the command-line, but at greater speed and while taking advantage
of advanced features that previously seemed too daunting to use on a
daily basis.  Many users will find that by using Magit they can become
more effective Git user.

Old versions

magit-4.4.0.0.20251005.195810.tar.lz2025-Oct-05 307 KiB
magit-4.4.0.0.20251004.202821.tar.lz2025-Oct-04 306 KiB
magit-4.4.0.0.20250927.71458.tar.lz2025-Sep-27 306 KiB
magit-4.4.0.0.20250926.163700.tar.lz2025-Sep-26 306 KiB
magit-4.4.0.0.20250913.214145.tar.lz2025-Sep-14 306 KiB
magit-4.3.8.0.20250904.234946.tar.lz2025-Sep-06 304 KiB
magit-4.2.0.0.20250203.232159.tar.lz2025-Feb-04 297 KiB
magit-4.0.0.0.20240830.211722.tar.lz2024-Aug-31 282 KiB
magit-3.3.0.50snapshot0.20240808.120842.tar.lz2024-Aug-08 299 KiB
magit-3.2.1.0.20211001.214957.tar.lz2021-Oct-02 285 KiB

News

# -*- mode: org -*-
* v4.4.2    2025-10-06

- Addressed harmless compiler warning.

* v4.4.1    2025-10-06

- Added new option ~magit-log-trailer-labels~.  #5432

- Added new command ~magit-delete-shelved-branch~.  31c0ae17d3

- Added new variable ~magit-save-repository-buffers-predicate~.  #5450

- Fixed saving the value of the menus ~magit-diff~, ~magit-log~,
  ~magit-diff-refresh~ and ~magit-log-refresh~.  c7ba53b4b4

- A form from the ~cond-let~ library made it into the autoloads file,
  where that library isn't being loaded.  #5451

- ~magit-revert-rev-file-buffer~ did not respect a value of ~nil~ for
  ~enable-local-variables~.  5eb31a419a

- Improved commands for jumping to specific sections in revision
  buffers.  #5442

- Improved consistency of scroll command bindings.  #5453

- It is possible again to exit ~magit-completing-read-multiple~ with
  no input if REQUIRE-MATCH is ~t~.  b5066e5fa4

- Diffs that appear in logs could not be parsed in some edge cases.
  #5454

* v4.4.0    2025-09-09

- At least Emacs 28.1 is required now.  Emacs 30.1 was released
  earlier this year, so Emacs "oldoldstable" is still supported.

- Code for tracking a position within a file across versions and
  diffs, and the commands that build on that to allow jumping to
  the same location in another version or diff, are undergoing
  heavy refactoring and improvements.  This is paying off technical
  dept and prepares for upcoming user-level improvements as well
  as for new features.  Some changes in behavior already appear in
  this release, as described below.

- For staged and unstaged changes, ~magit-diff-visit-file~ (~RET~) now
  always visits the blob actually corresponding to the line at point,
  as it already did for committed changes.  Previously it failed to
  visit the index blob from an unstaged removed line when that file
  has staged changes; and it failed to visit the index blob from a
  staged added line.

  Visiting the file in the worktree is very useful, but, instead of
  ~RET~, I recommend using ~C-<return>~ (~magit-diff-visit-worktree-file~).
  The new option ~magit-diff-visit-prefer-worktree~ allows restoring
  the old behavior.  See [[https://magit.vc/manual/magit/Visiting-Files-and-Blobs-from-a-Diff.html][Visiting Files and Blobs from a Diff]].

- "Blob navigation" is now aware of index blobs.  It is possible to
  navigate between such blobs, and the HEAD blob or the file on disk,
  using the same key bindings used to time travel from one committed
  blob to another.  See [[https://magit.vc/manual/magit/Minor-Mode-for-Buffers-Visiting-Blobs.html][Minor Mode for Buffers Visiting Blobs]] and
  [[https://magit.vc/manual/magit/Commands-for-Buffers-Visiting-Files.html][Commands for Buffers Visiting Files]].

- When quitting a blob-visiting buffer with ~q~, it is no longer
  killed, iff it is being displayed in an additional window.  The
  behavior can be changed by binding ~q~ in ~magit-blob-mode-map~ to
  one of the commands ~magit-bury-or-kill-buffer~, ~magit-bury-buffer~,
  or ~magit-kill-this-buffer~.  The former two are new commands.
  731642756f

- ~magit-status-here~ now places the cursor within the diff of unstaged
  changes, if the current line in a file-visiting buffer has unstaged
  changes.  If it does not, then it falls back to going to the
  corresponding staged change.  #4814

- Even though ~auto-revert-mode~ is enabled, if that has not yet kicked
  in and the user visits a file that needs reverting, they used to be
  asked to confirm the revert.  efaf91d8af

- ~magit-completing-read~ and ~magit-completing-read-multiple~ can now
  require non-empty input.  If REQUIRE-MATCH is ~any~, then the user
  can exit with input that does not appear in the collection, but
  is not allowed to exit with zero input.  #5422

- ~magit-completing-read-multiple~ now adds the default choice to the
  set of valid choices.  7167f70665

- ~magit-read-branch-or-commit~ can now exclude more than one possible
  choice from the set of valid choices.  10c366ed52
...
...