コンテンツにスキップ

vibe jump

jumpコマンドはブランチ名をマッチングして既存のGit Worktreeに移動します。完全一致、部分一致、ファジーマッチ、インタラクティブな選択をサポートしています。

Terminal window
vibe jump <branch-name> [options]
オプション説明
-V, --verbose詳細な出力を表示
-q, --quiet不要な出力を抑制
Terminal window
# 完全なブランチ名でWorktreeにジャンプ
vibe jump feat/new-feature
# 部分一致でジャンプ
vibe jump login
# ファジーマッチでジャンプ(部分列マッチング)
vibe jump feli # "feat/login" にマッチ
# 詳細な出力を表示
vibe jump feat/debug -V

vibe jumpは以下の順序でWorktreeを検索します:

  1. 完全一致(大文字小文字区別あり): 完全に一致するブランチ名のWorktreeが存在する場合、即座に移動
  2. 完全一致(大文字小文字区別なし): 大文字小文字を無視して一致するWorktreeが存在する場合、そこに移動
  3. 単語境界一致(大文字小文字区別あり→なし): 入力が単語境界(/-_ の直後)に出現する場合、通常の部分文字列一致より優先される
  4. 部分文字列一致(大文字小文字区別あり→なし): 単語境界一致がない場合、部分文字列一致にフォールバック。複数のWorktreeが一致する場合、インタラクティブな選択プロンプトを表示
  5. ファジーマッチ(部分列マッチング): 部分文字列一致がなく、検索語が3文字以上の場合、検索語の各文字がブランチ名内に順序通りに出現するかを判定(例: felifeat/login)。連続一致、単語境界、マッチ位置を考慮したスコアリングアルゴリズムで結果をランク付け
  6. 一致なし: vibe startで新しいWorktreeを作成するか確認
$ vibe jump feat/new-feature
# → cd '/path/to/repo-feat-new-feature'
$ vibe jump login
Matched: feat/login-page
# → cd '/path/to/repo-feat-login-page'
$ vibe jump feli
Matched: feat/login
# → cd '/path/to/repo-feat-login'
$ vibe jump auth
Multiple worktrees match 'auth':
1. feat/auth-login (/path/to/repo-feat-auth-login)
2. feat/auth-logout (/path/to/repo-feat-auth-logout)
3. Cancel
Please select (enter number):
$ vibe jump feat/nonexistent
No worktree found for 'feat/nonexistent'. Create one with 'vibe start'? (Y/n)

確認すると、vibe startが呼び出されてWorktreeが作成されます。

コード条件
0正常な移動、またはユーザーによるキャンセル
1エラー(空のブランチ名、gitコマンドの失敗など)

ユーザーが自発的にキャンセルした場合(選択プロンプトで「Cancel」を選択、または新しいWorktreeの作成を拒否)は、エラーではなく正常終了として扱われます。

  • detached HEAD のWorktree: detached HEAD状態(ブランチに紐づいていない)のWorktreeは検索対象に含まれません。ブランチ参照を持つWorktreeのみが検索可能です。
  • start - 新しいWorktreeを作成
  • clean - 作業完了後のWorktree削除