+++ 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 $