vibe clean
cleanコマンドは現在のWorktreeを削除し、メインリポジトリに戻ります。
vibe clean--force, -f
Section titled “--force, -f”未コミットの変更がある場合でも確認プロンプトをスキップします。
vibe clean --force--delete-branch
Section titled “--delete-branch”Worktree削除後にブランチも削除します。
vibe clean --delete-branch--keep-branch
Section titled “--keep-branch”Worktree削除後もブランチを保持します。設定ファイルのdelete_branch設定を上書きします。
vibe clean --keep-branch-V, --verbose
Section titled “-V, --verbose”実行されるgitコマンドなど、詳細な出力を表示します。
vibe clean --verbose-q, --quiet
Section titled “-q, --quiet”不要な出力を抑制します。
vibe clean --quiet--claude-code-worktree-hook v0.23.0+
Section titled “--claude-code-worktree-hook ”Claude Code WorktreeRemoveフックモード。stdinからWorktreeパスを読み取り、Worktreeを削除します。
vibe clean --claude-code-worktree-hook --force設定の詳細はClaude Code連携を参照してください。
.vibe.tomlでデフォルトの動作を設定できます:
[clean]delete_branch = true # デフォルトでブランチを削除| オプション | デフォルト | 説明 |
|---|---|---|
delete_branch | false | Worktree削除後にブランチを削除 |
高速削除(パフォーマンス最適化)
Section titled “高速削除(パフォーマンス最適化)”デフォルトで、vibeはworktreeディレクトリを一時的な場所に移動し、バックグラウンドで非同期削除する高速削除戦略を使用します。これにより、大きなリポジトリでもvibe cleanが瞬時に感じられます。
~/.config/vibe/settings.jsonで設定できます:
{ "version": 3, "clean": { "fast_remove": true }}| オプション | デフォルト | 説明 |
|---|---|---|
fast_remove | true | 高速非同期削除を使用(移動 + バックグラウンド削除) |
仕組み:
プラットフォームによって動作が異なります:
- macOS: Finderを通じてシステムのゴミ箱に移動します。必要に応じて復元可能で、OSが管理する信頼性の高いクリーンアップが保証されます。
- Linux/Windows: システムの一時ディレクトリ(
/tmpまたは%TEMP%)に移動し、nohupを使用してバックグラウンドで削除します。一時ディレクトリはシステム再起動時に自動的にクリーンアップされます。
詳細なプロセス:
- worktreeディレクトリは瞬時に移動(O(1)リネーム操作)
- 空になったディレクトリに対してgit worktreeメタデータをクリーンアップ
- 実際のファイル削除はバックグラウンドで非同期実行
- 以前の
.vibe-trash-*ディレクトリは自動的にクリーンアップ
注意: 高速移動が何らかの理由で失敗した場合(例:クロスデバイスリンクエラー)、自動的に従来の削除にフォールバックします。
安全チェック
Section titled “安全チェック”Worktreeを削除する前に、vibe cleanは:
- 未コミットの変更をチェック
- 変更がある場合は確認を求める
- pre_cleanフックを実行
- Worktreeを削除
- post_cleanフックを実行
- メインリポジトリにディレクトリを変更
未コミットの変更の警告
Section titled “未コミットの変更の警告”$ vibe clean未コミットの変更があります。本当にクリーンアップしますか? (y/N)未コミットの変更がある場合、vibeは:
- 警告を表示
- 確認を求める
- 明示的に確認した場合のみ続行
cleanコマンドはクリーンアップタスク用のフックをサポートしています:
[hooks]pre_clean = ["git stash"]post_clean = ["echo 'クリーンアップ完了'"]| フック | 実行タイミング | 作業ディレクトリ |
|---|---|---|
pre_clean | Worktree削除前 | 現在のWorktree |
post_clean | Worktree削除後 | メインリポジトリ |
pre_cleanフック例
Section titled “pre_cleanフック例”クリーンアップ前に作業を保存:
[hooks]pre_clean = [ "git stash --include-untracked", "echo '変更をstashしました'"]post_cleanフック例
Section titled “post_cleanフック例”共有リソースをクリーンアップ:
[hooks]post_clean = [ "docker-compose down", "echo 'クリーンアップ完了'"]ワークフロー
Section titled “ワークフロー”Worktree (現在) │ ├── pre_cleanフックが実行 │ ├── git worktree remove │ ├── post_cleanフックが実行 │ └── メインリポジトリにcd │ ▼メインリポジトリ (新しい現在地)