+++ Wednesday 18 June 2025 +++


No need for tig, magit has you covered
======================================

`tig' is a text mode tool that allows you to easily explore
the changes a Git repository. It is quick, simple to use and does its
job well.

Today, I learned that `magit' provides the same functionality.

Magit
-----
Magit is a Git Porcelain inside Emacs.

This is the opening of their website [1]:

   Magit is a complete text-based user interface to Git. It fills
   the glaring gap between the Git command-line interface and
   various GUIs, letting you perform trivial as well as elaborate
   version control tasks with just a couple of mnemonic key
   presses.

EmacsWiki [2] starts the Magit page with:

   Magit is an interface to the version control system Git,
   implemented as an Emacs package.

Exploration on different levels
-------------------------------
Magit provides three levels of exploration:

* Changes in the entire repository
* Changes in a directory within the repository
* Changes in a file

And all with the same command :)

Explore all changes or changes in a directory
---------------------------------------------
To explore the entire repository or the changes within a directory,
enter in Dired either the root directory of the repository, or a
directory within it.

Now, run:

  M-x magit-log-buffer-file

Magit opens a new buffer with the commits, comparable to
the output of `git log --pretty=short'.

It shows four columns;
* abbreviated hash of the commit
* title line (first line of the commit message)
* the committer
* date ago, in the format '18 hours', '7 months', '2 years' and so on

Select a commit by going to its line and hit Enter.
This opens a new buffer with the details of the commit including the changes.

Explore changes in a file
-------------------------
To explore the changes in a file, first open the file, and then
again run:

  M-x magit-log-buffer-file

This again opens a new buffer with the commits, where you can select
a commit to request the details.

Have fun!

[1]: https://magit.vc/
[2]: https://www.emacswiki.org/emacs/Magit


Last edited: $Date: 2025/06/18 09:34:45 $