コンテンツにスキップ

vibe scratch

scratch コマンドは scratch/<timestamp> 形式の自動命名ブランチで Git Worktree を作成します。vibe start と挙動は同じですが、名前を考える摩擦なくとりあえず試したい時に向いています。

Terminal window
vibe scratch [options]

vibe scratch--claude-code-worktree-hook を除き、vibe start と同じオプションを受け付けます。

Option説明
--reuse既存ブランチを使用する(scratch では用途は限定的)
--base <ref>新規ブランチのベースとなるブランチ/コミット
--track--base 使用時に upstream tracking を設定する
--no-hookspre-start / post-start フックをスキップする
--no-copyファイル/ディレクトリのコピーをスキップする
-n, --dry-run実行せずに操作を確認する
-V, --verbose詳細出力を表示する
-q, --quiet必須でない出力を抑制する
Terminal window
# scratch worktree を作成
vibe scratch
# 特定のベースブランチから作成
vibe scratch --base develop
# フックをスキップして高速に作成
vibe scratch --no-hooks

出力例:

$ vibe scratch
Created worktree: scratch/20260427-143052
Promote with: vibe rename <new-name>

ブランチ名は ローカルタイムscratch/<YYYYMMDD-HHMMSS> 形式で生成されます。この形式の利点:

  • ソート可能: vibe list で新しい worktree が上位に来る
  • 予測可能: いつ作業を始めたか直感的に分かる
  • 衝突しない: 同一秒に重複した場合は -2, -3, … サフィックスが付加される

ブランチ名が決まった後の処理は vibe start と完全に同じです:

  1. origin リポジトリで pre-start フック 実行
  2. Worktree 作成
  3. ファイルコピー
  4. 新 worktree で post-start フック 実行
  5. 新 worktree への ディレクトリ変更

成功後、vibe rename で正式名へ昇格させるためのヒントが表示されます。

scratch で作業した内容が形になったら、worktree 内で vibe rename <name> を実行します:

Terminal window
$ cd /path/to/scratch-20260427-143052
$ vibe rename my-feature
Renamed scratch/20260427-143052 -> my-feature

不要になった scratch は通常の worktree と同様に vibe clean で削除できます。scratch だからといって特別な扱いはありません。

  • start - 明示的な名前で worktree を作成
  • rename - scratch を正式名に昇格
  • clean - 作業完了後に worktree を削除