Skip to content

Sh1ragami/bmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bmap — Branch Map (TUI)

bmap は Git のブランチ/マージ履歴を素早く俯瞰するためのターミナル UI ツールです。代替スクリーンを使った全画面表示、検索、親子ジャンプ、アクティブ行の追従スクロールなどを備えています。

スクリーンショット 2025-10-03 1 23 13

主な機能

  • 全画面 TUI(代替スクリーン)で起動・終了時に原状復帰
  • アクティブ行の追従スクロール(行が下に隠れない)
  • グラフ表示の切替(縦のガイド線を表示/非表示、最小は行頭に色付きの のみ)
  • 検索(/ で入力、n/N で次/前へ)
  • 親/子コミットへのジャンプ(/
  • ステールブランチの簡易ハイライト(o で 30/90/180 日をトグル)
  • マウスホイールで選択移動(ターミナルのスクロールバックは動かさない方針)
  • フィルタ(--since, --author, --branch, --limit など)

インストール

  • 前提: Rust (stable) と Cargo が必要です。
  • ビルド: cargo build --release
  • 実行ファイル: target/release/bmap

使い方

bmap [OPTIONS]

主なオプション:

  • --repo <PATH> リポジトリのパス(省略時はカレント)
  • --since <WHEN> 例: 2024-01-01, 90d, 3 months ago
  • --author <GLOB> 例: "Alice*"
  • --branch <GLOB> 例: "feat/*"
  • --stale-days <N> ステール閾値(日)デフォルト: 90
  • --limit <N> 最大コミット数(デフォルト: 5000)
  • --compact コンパクト表示
  • --no-graph 縦のガイド線を非表示(行頭に のみ)
  • --purge-scrollback 起動時にスクロールバックをパージ

例:

  • 直近 90 日のみ: bmap --since 90d
  • 著者とブランチで絞込: bmap --author "Alice*" --branch "feat/*"
  • 縦線なし・スクロールバック抑止重視: bmap --no-graph --purge-scrollback

キーバインド

  • 基本移動: ↑/↓j/k
  • ページ移動: PageUp/PageDown、半ページ: Ctrl+u/Ctrl+d
  • 先頭/末尾: Home/End
  • 親/子ジャンプ: ←/→
  • 検索: / で入力、n/N 次/前
  • ステール閾値トグル: o
  • グラフ表示トグル: g
  • 終了: q

ターミナル設定の注意

全画面固定(代替スクリーン)中に「上スクロールで実行前の出力が見える」場合は、ターミナルや tmux の設定が影響しています。

  • iTerm2: Profiles → Terminal → “Scrollback in Alternate Screen” をオフ
  • tmux を使用している場合:
    • set -g mouse on
    • bind -n WheelUpPane if-shell -F "#{alternate_on}" "send-keys -M" "copy-mode -e"
    • bind -n WheelDownPane if-shell -F "#{alternate_on}" "send-keys -M" "send-keys -M"
  • それでも見えてしまう環境では --purge-scrollback の併用を検討してください

トラブルシュート

  • オプション --no-graph--purge-scrollback がヘルプに出ない → 古い bmap を実行している可能性があります。cargo run -- --help で確認してください。
  • 行が下に隠れる → 最新バイナリで再実行してください。選択移動のたびにビューが追従するよう実装されています。

開発

  • 依存: ratatui, crossterm, git2, chrono, clap
  • デバッグ実行: cargo run -- [OPTIONS]
  • 高速ビルド(配布用): cargo build --release

About

Git のブランチ/マージ履歴を素早く確認するためのTUIツール

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages