drift とは?git diffをTUIで見るRust製ページャーの使い方と設定
drift とは?git diffをTUIで見るRust製ページャーの使い方と設定
driftはRust製のターミナルUI対応git diffページャーです。シンタックスハイライト・単語レベルの変更強調・ライブウォッチモードを搭載し、コンフィグ不要ですぐ使えます。Homebrewやcargoなど多数のインストール方法に対応しています。
GitHubで急上昇中の aymanbagabas/drift をご紹介します。 スター数 134★ を獲得し、CLI分野で注目されているツールです。
aymanbagabas/drift とは?
drift は、Rustで書かれたgit diffの専用ターミナルUI(TUI)ページャーです。
通常の git diff コマンドの出力をそのまま表示するだけでなく、シンタックスハイライトや単語レベルの変更強調、ファイル一覧サイドバーといったリッチなUIで差分を閲覧できます。
「本当に見たいと思えるgit diffページャー」をコンセプトに開発されており、コミット差分・ステージング差分・ワーキングツリー差分をすべてTUI上で確認できます。
コンフィグなしですぐ起動でき、既存のgit設定に git config --global pager.diff drift の1行を追加するだけでデフォルトページャーとして利用できる手軽さも魅力です。
2026年9月11日にリリースされたv0.0.9では、折りたたみ可能なハンクヘッダー、ソフトラインラップ、コミットメタデータヘッダーなど多数の機能が追加されています。
コントリビューターはまだ1名ですが、活発にリリースが続いており、今後の成長が期待されるOSSです。
こんな人におすすめ:
- エンジニア向け: Git操作が日常のバックエンド・フロントエンドエンジニアがコードレビューやPR確認時のdiff閲覧をターミナル内で完結させるのに最適
- 非エンジニア向け: プログラミング知識が必要なため、エンジニア専用ツールです
主な機能・特徴
driftが提供する主な機能を以下に整理します。
差分表示・UI機能
- シンタックスハイライトと単語レベル差分強調: コード構文に応じた色付けと、単語単位の変更箇所強調でdiffが一目でわかる
- スプリットビュー / ユニファイドビュー:
sキーで切り替え可能。スプリットビューでは左右に旧・新を並べて比較できる - ファイルサイドバーとモーダル: ファイル一覧をサイドバーに表示し、クリックで即ジャンプ。
[]キーでもファイル間を移動できる - ハンク折りたたみ・コンテキスト展開: ハンクヘッダーを折りたたんでdiff全体を俯瞰し、必要な箇所だけ展開して確認できる
- コミットメタデータ表示: 単一コミットのdiffでは、コミットハッシュ・著者・日付・メッセージをインライン表示
ライブ機能
- ライブウォッチモード(
-w/--watch): gitインデックスやブランチが変更された瞬間に画面を自動更新。AIコーディングエージェントと並行作業時に特に有用 Fキーでフォロー/フリーズ切り替え: ライブモード中でもFを押すと画面を固定して読み込みに集中できる- ファイル内検索(
/): regex・スマートケース対応の検索で差分内の特定コードを即座に見つけられる
カスタマイズ
- 11種のビルトインテーマ: onedark、onelight、dracula、gruvbox-dark、gruvbox-light、nord、solarized-dark/light、catppuccin-mocha/latte、tokyonight、monokai
- TOML/YAML/JSON設定ファイル対応:
~/.config/drift/config.tomlに設定を記述。git configからも各項目を上書き可能 - マウス完全対応: クリック・ドラッグでサイドバーのリサイズ、テキスト選択→クリップボードコピー(SSH経由OSC 52対応)
drift の使い方・始め方
インストール方法
driftはmacOS・Linux・Windows向けに複数のインストール方法が用意されています。
Homebrew(macOS/Linux推奨)
brew install aymanbagabas/tap/drift
Cargo(Rust環境あり)
cargo install drift-diff
# またはコンパイル不要のバイナリインストール
cargo binstall drift-diff
apt(Debian/Ubuntu)
echo 'deb [trusted=yes] https://repo.aymanbagabas.com/apt/ /' | sudo tee /etc/apt/sources.list.d/aymanbagabas.list
sudo apt update && sudo apt install drift
その他(Scoop・AUR・Nix・npm)
# Windows (Scoop)
scoop bucket add aymanbagabas https://github.com/aymanbagabas/scoop-bucket
scoop install drift
# Arch Linux (AUR)
yay -S drift-diff-bin
# npm
npm install -g @aymanbagabas/drift
基本的な使い方
インストール後はそのまま drift コマンドを実行するだけです。
drift # ワーキングツリーとHEADの差分
drift -A # 未追跡ファイルも含める
drift --staged # ステージング済みの差分
drift HEAD~3 # 特定コミットの差分
drift main..feature # ブランチ間の差分
drift -w # ライブウォッチモード
git diff | drift # パイプ経由でページャーとして使う
デフォルトページャーとして設定するには:
git config --global pager.diff drift
テーマを設定してシンタックスハイライトを有効化:
git config --global drift.theme onedark
活用事例
バックエンドエンジニアのコードレビュー効率化
バックエンドエンジニアがPRレビュー前に drift main..feature でブランチ間差分を確認するシーンです。
ファイルサイドバーを活用してどのファイルが変更されたかを一覧確認し、[ ] でファイルを移動しながら重点的に確認すべき箇所をピックアップ。
/ でレビュー観点のキーワード(例: "TODO"・"panic"・"unsafe")を検索して即座に問題箇所を特定できます。
AIエージェントとの並行作業
drift -w をターミナル分割の片側に表示した状態で、もう片側でClaude CodeやGitHub Copilotにコード修正を依頼します。
AIが変更を加えるたびにdriftの画面が自動更新されるため、エディタを行き来せずにリアルタイムで変更内容を確認できます。
F キーで一時停止して差分を読み込み、問題なければ再度 F でフォローを再開するワークフローが効率的です。
delta・difftasticとの違い:なぜ今driftなのか
git diffの表示を改善するCLIツールとして、delta や difftastic が広く知られています。
deltaとの違い: deltaはgit diffの出力をパイプで受け取りカラフルに表示する「レンダラー」です。インタラクティブなTUI操作(ファイルジャンプ・検索・サイドバー)は提供しません。driftはTUI上でナビゲーション操作ができる「インタラクティブページャー」であり、キーボード・マウスで差分を能動的に探索できます。
difftasticとの違い: difftasticはAST(構文木)ベースの構造差分を得意とし、リファクタリング時の「意味のある変更」の抽出に優れています。driftはAST解析は行わず、シンタックスハイライト付きの行ベース差分をTUIで見やすく提示することに特化しています。
なぜ今driftなのか: v0.0.9(2026年9月11日リリース)でライブウォッチモード・折りたたみUI・静的musl Linuxバイナリが追加され、日常的なgit操作に実用的に使えるレベルに到達しました。AIコーディングエージェントとの組み合わせという新しいユースケースにも公式ドキュメントで言及されており、2026年のAI駆動開発ワークフローにフィットしたタイミングでの急上昇と言えます。
こんな人に向いている
フロントエンドエンジニア
Reactコンポーネントの差分を確認する際、driftのスプリットビュー(s キー)で旧コンポーネントと新コンポーネントを左右に並べて比較できます。
CSSの微妙なスタイル変更やJSXの構造変更を視覚的に把握しやすくなり、「どこが変わったか」の確認時間を短縮できます。
バックエンドエンジニア・SRE
マイグレーションファイルやサーバー設定ファイルの変更レビュー時に威力を発揮します。
drift --staged でコミット前の差分を確認し、意図しない変更が含まれていないかをファイル一覧とインライン検索で素早くチェックできます。
SREがインフラコードのPRレビューを行う際も、ターミナルから離れることなく差分確認が完結します。
AIコーディングエージェント活用者
Claude Code・GitHub Copilot・Cursorなど、AIエージェントにコーディングを任せる開発者に特に有用です。
drift -w のライブウォッチモードを常時表示しておくことで、AIの変更を逐次確認しながら作業を進められます。
エージェントが大量のファイルを変更した場合も、サイドバーとファイルジャンプで変更の全体像を素早く把握できます。
使う前に知っておきたいこと
バージョンと安定性
driftは現在 v0.0.9 です。0.x系であることから分かる通り、APIや設定フォーマットが将来変更される可能性があります。 v0.0.9でキーバインドが大幅に刷新(ブレーキングチェンジ)されており、以前のバージョンとの互換性はありません。 本番環境での重要なワークフローに組み込む場合は、バージョンを固定して利用することを推奨します。
プラットフォーム対応
macOS・Linux(musl静的バイナリによりAlpine・CentOS 7・AlmaLinux 8等の旧環境も対応)・Windowsに対応しています。 Linux向けはv0.0.9でmusl静的バイナリに移行したため、glibc 2.17以上の環境であれば動作します。 Windowsではscoopまたはnpm経由でインストールできますが、ターミナルエミュレーターのOSC 52サポート状況によってはクリップボードコピー機能が動作しない場合があります。
ライセンス
MITライセンスです。商用利用・改変・再配布がすべて許可されており、OSSプロジェクトや企業内ツールチェーンへの組み込みも自由に行えます。 ただし著作権表示の保持は必要です。
コントリビューター体制
現時点ではコントリビューターが1名(著者のAyman Bagabas氏)のみです。 長期メンテナンスの継続性について、複数名体制のプロジェクトと比較して不確実性があることは認識した上で採用を検討してください。
関連ツール・おすすめサービス
- DigitalOcean — 開発者向けクラウド・App Platformでかんたんデプロイ
- さくらVPS — 国内ホスティングでのセルフホストならこちら
まとめ
driftはRust製のgit diff TUIページャーとして、シンタックスハイライト・ライブウォッチ・マウス操作・豊富なテーマを一つのCLIツールに統合しています。 特にAIコーディングエージェントとの組み合わせや、コードレビュー時のターミナルワークフロー最適化に向いており、バックエンド・フロントエンドエンジニアからSREまで幅広く活用できます。 v0.0.9でmusl静的バイナリや折りたたみUI等の実用的な機能が揃い、導入のしやすさも増しています。コンフィグ不要ですぐ試せるので、まず で動かしてみてください。
この技術を学ぶ
CLIに興味を持った方には、UdemyのLinux/コマンドライン系コースもおすすめです。
- 🎓 関連するCLIコース一覧 — セール時(最大90%OFF)を狙うとお得です
関連記事
この記事が役に立ったらシェアしてください