vibe scratch
scratch 命令会使用自动生成的 scratch/<timestamp> 分支名创建 Git Worktree。它与 vibe start 相同,但省去了事先取名的麻烦 —— 非常适合“先随便试试”的场景。
vibe scratch [options]除了 --claude-code-worktree-hook 之外,vibe scratch 接受与 vibe start 相同的选项。
| 选项 | 说明 |
|---|---|
--reuse |
使用已有分支(很少有实际意义) |
--base <ref> |
新分支的基础分支/提交 |
--track |
使用 --base 时设置 upstream 跟踪 |
--no-hooks |
跳过 pre-start 和 post-start 钩子 |
--no-copy |
跳过文件和目录的复制 |
-n, --dry-run |
预览操作而不实际执行 |
-V, --verbose |
显示详细输出 |
-q, --quiet |
抑制非必要的输出 |
# 创建 scratch worktreevibe scratch
# 基于指定的基础分支创建vibe scratch --base develop
# 不执行钩子的快速 scratchvibe scratch --no-hooks输出:
$ vibe scratchCreated worktree: scratch/20260427-143052Promote with: vibe rename <new-name>生成的分支名为本地时间的 scratch/<YYYYMMDD-HHMMSS>。该格式具有以下特点:
- 可排序:最新的 worktree 在
vibe list中排在最前 - 可预期:将 worktree 与你开始工作的时间关联起来
- 不冲突:如果同一秒内出现两次(实际中很罕见),会追加
-2、-3……
与 vibe start 相同的流程
Section titled “与 vibe start 相同的流程”名称生成之后,vibe scratch 会执行与 vibe start 完全相同的流程:
- 在源仓库中执行 pre-start 钩子
- 创建 worktree
- 复制文件
- 在新 worktree 中执行 post-start 钩子
- 切换目录到新的 worktree
成功后,vibe 会打印一条指向 vibe rename 的提示,方便你在工作成形后把 scratch 提升为正式名称。
如果 scratch 产出了值得保留的成果,请在该 worktree 内执行 vibe rename <name>:
$ cd /path/to/scratch-20260427-143052$ vibe rename my-featureRenamed scratch/20260427-143052 -> my-feature使用 vibe clean 删除不再需要的 scratch。scratch 没有任何特殊待遇 —— 它们的行为与其他 worktree 完全一致。