Skip to content

原文(日本語に翻訳)

EnterWorktree セッションを終了するための ExitWorktree ツールを追加しました。

原文(英語)

Added ExitWorktree tool to leave an EnterWorktree session

概要

EnterWorktree ツールでGit worktreeの分離環境に入った後、ExitWorktree ツールを使って明示的にセッションを終了できるようになりました。これにより、worktreeセッションのライフサイクルがより明確に管理できます。EnterWorktreeExitWorktree がペアになることで、分離された作業環境の開始と終了を明示的に制御できます。

基本的な使い方

# 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

注意点

  • ExitWorktreeEnterWorktree で入ったセッションのみ終了できます。ネストされたworktreeセッションには対応していない場合があります
  • worktreeセッション中の未コミット変更は、ExitWorktree 後も worktree ディレクトリに残ります
  • ExitWorktree を呼び出さずにセッションが終了した場合、worktreeは自動的にクリーンアップされることがあります(変更の有無によって動作が異なります)
  • Git worktreeはブランチの独立した作業ディレクトリを提供するため、メインブランチに影響を与えずに実験的な変更が行えます

関連情報