Serie とは
Serie は Git リポジトリの履歴を見るためのターミナル UI です。git log --graph --all が見せるものを表示しますが、グラフは AA で近似するのではなく、ターミナルエミュレータのインライン画像プロトコルで描かれます。だからブランチとマージがひと目で読めます。グラフの隣にはスクロールと検索ができるコミット一覧が並び、選んだコミットの詳細も見られます。あえてビューアであり Git クライアントではありません。コミットもブランチ操作も push もしません。
⚡ Serie の主な機能
🖼️ 本物のコミットグラフ
グラフは Kitty または iTerm2 のプロトコルで画像として描画されます。並行ブランチが数十本あるリポジトリでも、ブランチ線が読めるままです。
🔍 検索できる履歴
グラフの隣にコミット一覧が並び、スクロールも検索もできます。git log の出力をページ送りする必要はありません。
📄 コミットの詳細表示
コミットを選ぶと、メッセージ、参照、差分がグラフから離れずに確認できます。
🎛️ グラフの表示オプション
時系列順かトポロジ順か、セル幅は 1 か 2 か、角は丸めるか尖らせるか。コマンドラインか設定ファイルで一度決めておけます。
⌨️ キーバインドのカスタマイズ
? で現在のキーバインドを表示できます。どれも config.toml で上書きできます。
🧰 ユーザー定義コマンド
選択中のコミットに対して、自分のコマンドを実行できます。専用のビューに出力を出す、バックグラウンドで動かす、対話的なプログラムのために Serie を一時停止する、いずれも可能です。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。Serie は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: Serie をインストールする
# 最新の Serie をインストール
sudo apt install serie
# インストールを確認
serie --version# 最新の Serie をインストール
apt install serie
# インストールを確認
serie --versionステップ 3: リポジトリで実行してみる
# Serie はカレントディレクトリのリポジトリを読みます
cd /path/to/your/repo
serie
# いつでも ? を押せばキーバインドが出ます
# グラフが出ないときは、画像プロトコルを明示してください
serie -p kitty
# 任意の設定ファイル。キーバインドと既定値のために
mkdir -p ~/.config/serie
$EDITOR ~/.config/serie/config.toml🎯 基本的な使い方
履歴をたどる:
# 今いるリポジトリの全履歴
serie
# とても大きなリポジトリ向けに、直近のコミットだけ
serie -n 5000
# 時系列順ではなくトポロジ順
serie -o topo
# 最新のコミットではなく HEAD を選択した状態で起動
serie -i headグラフをターミナルに合わせる:
# 自動判定が外れたときに、画像プロトコルを明示
serie -p kitty
serie -p iterm
serie -p kitty-unicode
# 小さなウィンドウ向けに、グラフのセル幅を狭く
serie -g single
# 角を丸めず、尖らせる
serie -s angular
# あるいは、広いターミナルで余裕のある丸みのある見た目に
serie -g double -s rounded設定と日々の使い方:
# キーバインドと既定値のための設定ファイル
mkdir -p ~/.config/serie
$EDITOR ~/.config/serie/config.toml
# あるいは、別の場所の設定ファイルを Serie に指定する
SERIE_CONFIG_FILE=~/dotfiles/serie.toml serie
# Serie は履歴を読むだけ。クライアントは git のまま
git -C ~/src/project log --oneline -5
# コミットは今も git の仕事です
git commit -v🔧 ツール連携
Serie に必要なものは 2 つ、そしてもう 1 つと協調します:
- git: ふつうの Git リポジトリと
gitバイナリ。パッケージが依存として引き込みます - 使っているターミナル: Kitty か iTerm2 のインライン画像プロトコルを話すもの。Ghostty、Kitty、WezTerm、iTerm2 が該当します
- 設定ファイル:
$XDG_CONFIG_HOME/serie/config.toml、あるいはSERIE_CONFIG_FILEが指す場所 - ユーザー定義コマンド:
git diffやエディタ、自作スクリプトをキーに割り当てて、選択中のコミットに対して実行できます - いつもの git クライアント: Serie はあえてコミットも push もしません。lazygit や GitUI、素の git を置き換えるのではなく、隣に並びます
🚀 deb.griffo.io を選ぶ理由
- 公式 Ubuntu: Serie をまったくパッケージ化していないので、素のシステムには入れるものがありません
- cargo install --locked serie: 最新ではありますが、Rust ツールチェインとマシンごとのコンパイルが要り、apt の外に置かれます
- 上流の tarball: 公式バイナリを、リリースのたびに手でダウンロード
- deb.griffo.io: 最新版を自動更新でお届け
- ✅ 若く、動きが速い: ユーザー定義コマンド、独自キーバインド、グラフの見た目の設定はどれもふつうのリリースで入りました。最新ビルドは 1 年前のものとは別のツールです
- ✅ apt で入る唯一の場所: Serie は Debian にも Ubuntu にも収録されていません。このリポジトリが上流公式のビルドをパッケージ化しています
- ✅ 自動更新: 上流のリリースから数時間以内にパッケージを更新
- ✅ 正直なパッケージング: 上流のバイナリを
/usr/bin/serieに、gitを依存として宣言。上流は man ページも補完も出していないので、勝手には作りません - ✅ 2 つのアーキテクチャ: amd64 と arm64。どちらもライブラリ依存のない静的リンクの musl ビルド
- ✅ マルチディストリビューション: Ubuntu 22.04、24.04、25.10、26.04 で動作
- ✅ 手間のかからない運用: 更新は通常の apt コマンドだけ
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 🌳 serie-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- Ghostty - Kitty プロトコルでグラフを描いてくれるターミナル
- lazygit - Serie があえてやらない部分を担うターミナル git UI
- Jujutsu - リベースを一級市民として扱う Git 互換 VCS
- Forgejo - いま読んでいる履歴の裏にある、セルフホストのフォージ
git log --graph がパイプとアスタリスクの壁を出してきて追えなかったすべての瞬間に。