Git 履歴をビジュアル化する新ツール「gitlogue」

Wait 5 sec.

Gitの履歴はテキストで読むと味気なく、単なる事実の羅列のように思えます。しかしコミットには開発者の思考や試行錯誤の歴史が詰まっています。本日紹介する「gitlogue」はその物語を映画のように再生してくれるターミナルツールです。ただの差分表示ではなく、タイピングアニメーション・カーソル移動・ファイルツリーの変化まで再現し、コードの進化を視覚的に楽しめるのが最大の特徴です。以下のような特徴を持っています。■ コミット履歴をアニメーション再生実際に書いているようなタイピング演出カーソル移動、削除、ファイル操作の動きも再現コードの変化が“ストーリー”として見える■ Diff の視覚化ステージ済み/未ステージの差分を見やすく表示Tree-sitter による 29 言語のシンタックスハイライト■ プロジェクトのファイルツリー表示ディレクトリ構造と変更統計を同時に確認できる■ スクリーンセーバーモードランダムなコミットを延々と再生作業中の“背景映像”としても使える■ テーマ変更・速度調整9 種類のテーマファイルタイプごとのタイピング速度ルールignore 設定も柔軟以下使用方法を説明します。インストール方法複数の方法が用意されており、環境に合わせて選べます。インストールスクリプト(推奨):curl -fsSL https://raw.githubusercontent.com/unhappychoice/gitlogue/main/install.sh | bashHomebrew:brew install gitlogueCargo:cargo install gitlogueインストールスクリプトを使用した場合、~/.local/binにインストールされます。パスが通っていない場合は、PATHに追加しておきます。export PATH="$PATH:/Users/sora/.local/bin"あとは、適当なGitリポジトリに移動し「gitlogue」コマンドを実行するだけです。代表的な使い方は次のとおりです。# スクリーンセーバーとして起動gitlogue# 特定のコミットを再生gitlogue --commit abc123# コミット範囲を再生gitlogue --commit HEAD~5..HEAD# 古い順に再生gitlogue --order asc# diff を見るgitlogue diffgitlogue diff --unstaged# 作者でフィルタgitlogue --author "john"# 日付でフィルタgitlogue --after "2024-01-01"設定ファイル ~/.config/gitlogue/config.toml で、テーマ・速度・背景などを細かく調整できます。▲超高速検索ツールripgrepを再生してみた動画です。まとめ開発者のunhappychoice氏は、「ターミナルを彩るスクリーンセーバーを自作したい」という動機から開発をスタートしたと述べています。リアルなタイピング表現や、見た目の美しさ(テーマ・ハイライト)、Git log / diff の"補完"として自然に使えること、スクリーンセーバーとして眺めて楽しいことなどにこだわりを持って作られたそうです。自分の携わっているプロジェクトはもちろん、GitHubには著名なオープンソースソフトが多数公開されています。どのような歴史を持っているのか映像として確認してみたいかたは試してみてはいかがでしょうか。