原文(日本語に翻訳)
EnterWorktree セッションを終了するための ExitWorktree ツールを追加しました。
原文(英語)
Added ExitWorktree tool to leave an EnterWorktree session
概要
EnterWorktree ツールでGit worktreeの分離環境に入った後、ExitWorktree ツールを使って明示的にセッションを終了できるようになりました。これにより、worktreeセッションのライフサイクルがより明確に管理できます。EnterWorktree と ExitWorktree がペアになることで、分離された作業環境の開始と終了を明示的に制御できます。
基本的な使い方
# worktreeセッションを開始
EnterWorktree(ツールとして使用)
# ... worktree内での作業 ...
# worktreeセッションを終了
ExitWorktree(ツールとして使用)実践例
機能ブランチでの分離作業
# 1. EnterWorktree でfeatureブランチのworktreeに入る
# → 分離された環境でコード変更を行う
# 2. 変更・テスト・コミットなどの作業を実施
# 3. ExitWorktree でセッションを終了
# → メインブランチの作業環境に戻るサブエージェントでのworktree活用
サブエージェント(Agentツール)で isolation: "worktree" を使用する場合と同様に、EnterWorktree / ExitWorktree ペアでエージェントが分離環境で作業できます。
# Agentツールを使ったworktree分離
Agent(
isolation: "worktree",
prompt: "...独立した作業..."
)
# または手動でのworktree管理
EnterWorktree → 作業 → ExitWorktree複数worktreeの切り替え
# worktreeA に入る
EnterWorktree (branch: feature-a)
# 作業後に終了
ExitWorktree
# worktreeB に切り替え
EnterWorktree (branch: feature-b)
# 作業後に終了
ExitWorktree注意点
ExitWorktreeはEnterWorktreeで入ったセッションのみ終了できます。ネストされたworktreeセッションには対応していない場合があります- worktreeセッション中の未コミット変更は、
ExitWorktree後も worktree ディレクトリに残ります ExitWorktreeを呼び出さずにセッションが終了した場合、worktreeは自動的にクリーンアップされることがあります(変更の有無によって動作が異なります)- Git worktreeはブランチの独立した作業ディレクトリを提供するため、メインブランチに影響を与えずに実験的な変更が行えます