GitUI とは
GitUI は Rust で書かれた git のターミナル UI です。ハンクや行単位のステージング、差分の閲覧、ログの閲覧と検索、stash、blame、ブランチ操作、push といった、git の GUI で本当に価値のある部分を、ターミナルを離れずに、しかも人気の GUI が大きなリポジトリで固まるようなことなしに提供します。
⚡ GitUI の主な機能
⚡ 巨大なリポジトリでも軽快
上流のベンチマークでは、Linux カーネルの全履歴を約 170 MB のメモリで約 24 秒でパースします。重量級の GUI が固まるか落ちるような規模です。
✂️ ハンク単位・行単位でステージ
ファイル全体、ハンク単位、行単位で stage、unstage、revert、reset ができます。多くの人が git の GUI を開く、まさにその理由です。
📜 ログと差分
コミットログの閲覧と検索、任意のコミットの差分確認、ファイルの行単位の blame まで、すべて同じキーボード操作の中で。
📦 スタッシュ
stash の保存、取り出し、適用、破棄、中身の確認を専用タブから行えます。git stash のどのサブコマンドが何をするか思い出す必要はありません。
🌿 ブランチとリモート
ブランチの作成・改名・削除・チェックアウト、リモートの操作、push や fetch まで、シェルに戻らずに行えます。
⌨️ 文脈に応じたヘルプ
? が今の画面で効くキーだけを表示します。vim 風が好みなら、key_bindings.ron ですべて割り当て直せます。
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 です。GitUI は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: GitUI をインストールする
# 最新の GitUI をインストール
sudo apt install gitui
# インストールを確認
gitui --version# 最新の GitUI をインストール
apt install gitui
# インストールを確認
gitui --versionステップ 3: 初回起動と設定
# 任意の git リポジトリの中で開く
cd /path/to/your/repo
gitui
# いつでも ? を押せば、いまの画面で効くキーが出ます
# テーマとキーバインドは設定ディレクトリに置きます
ls ~/.config/gitui/
# たとえば vim 風のキーマップ
$EDITOR ~/.config/gitui/key_bindings.ron🎯 基本的な使い方
リポジトリを開く:
# カレントディレクトリのリポジトリ
gitui
# cd せずに特定のリポジトリを指定
gitui -d ~/src/linux
# 作業ツリーと git ディレクトリを分ける
gitui -d ~/src/project/.git -w ~/src/project
# files タブでファイルを選択した状態で起動
gitui -f src/main.rs見た目と使い心地:
# ~/.config/gitui/ に置くテーマファイル
gitui -t mytheme.ron
# 独自のキーバインドファイル
gitui -k ~/.config/gitui/key_bindings.ron
# キーの記号を差し替える(描き方の違うキーボード向け)
gitui -s ~/.config/gitui/key_symbols.ron
# 定期更新ではなくファイルシステムの監視を使う
gitui --watcherデバッグが必要になったら:
# バグ報告用に環境情報を集める
gitui --bugreport
# 問題を再現しながらログを書き出す
gitui --logging --logfile /tmp/gitui.log
# GitUI が扱わないことには、今も git CLI があります
git rebase -i origin/main
# HTTPS の push には、明示的な credential helper の設定が必要です
git config --global credential.helper store🔧 ツール連携
GitUI は、いまの git 環境の上に載ります:
- 自分のリポジトリ: ただの git リポジトリを Rust の git バックエンドで読み書きするだけで、GitUI 固有のものは何もありません
- フック:
pre-commit、commit-msg、post-commit、prepare-commit-msgはコマンドラインからと同じように動きます - GPG 署名: 署名付きコミットも動きます(上流が issue で説明している制約は残ります)
- テーマとキーマップ:
~/.config/gitui/のtheme.ron、key_bindings.ron、key_symbols.ron - SSH 越しでも: リモートでも十分速く、サーバー上でコミットを直すのが面倒でなくなります。amd64 ビルドは共有ライブラリを必要としません
🚀 deb.griffo.io を選ぶ理由
- 公式 Ubuntu: GitUI をまったくパッケージ化していないので、素のシステムでは
apt install gituiが失敗します - cargo install gitui: 最新ではありますが、マシンごとに長い Rust のコンパイルが要り、apt の外、更新経路の外に置かれます
- 上流の tarball: 公式バイナリを、リリースのたびに手でダウンロードすることに
- deb.griffo.io: 最新版を自動更新でお届け
- ✅ まだ 1.0 前: GitUI はふつうのリリースで本物の機能が増えます。最新を使うかどうかが、サブモジュール対応・ログ検索・blame があるかないかの差になります
- ✅ apt で入る唯一の場所: GitUI は Debian にも Ubuntu にも収録されていません。このリポジトリが上流公式のビルドをパッケージ化しています
- ✅ 自動更新: 上流のリリースから数時間以内にパッケージを更新
- ✅ 正直なパッケージング: 上流のバイナリを
/usr/bin/gituiに。上流は man ページもシェル補完も出していないので、このパッケージも勝手には作りません - ✅ 3 つのアーキテクチャ: amd64(静的 musl ビルド)、arm64、armhf。上流が glibc にリンクしている箇所ではライブラリ依存を宣言しています
- ✅ マルチディストリビューション: Ubuntu 22.04、24.04、25.10、26.04 で動作
- ✅ 手間のかからない運用: 更新は通常の apt コマンドだけ
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 🎛️ gitui-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- lazygit - その配置が好みなら、もうひとつのターミナル git UI を
- Jujutsu - リベースを一級市民として扱う Git 互換 VCS
- Forgejo - そのブランチを push する先の、セルフホストのフォージ
- Neovim - 差分が連れていった先を開くためのエディタ