原文(日本語に翻訳)
古いエージェントworktreeのクリーンアップを改善しました。PRがsquashマージされたworktreeも、無期限に保持される代わりに削除されるようになりました。
原文(英語)
Improved stale agent worktree cleanup to remove worktrees whose PR was squash-merged instead of keeping them indefinitely
概要
エージェントが作業に使用したGit worktreeのクリーンアップロジックが改善されました。以前はsquash mergeで統合されたPRに対応するworktreeが残り続けていましたが、今回の修正によりsquash mergeされたPRのworktreeも適切に検出・削除されるようになりました。これにより、長期間使用している場合の不要なworktreeの蓄積が防止されます。
基本的な使い方
この改善は自動的に機能します。特別な設定は不要です。
エージェントがworktreeを使用した後、対応するPRがsquash mergeされた場合、次回のクリーンアップ時にworktreeが自動削除されます。
Squash mergeとは
通常のマージ: フィーチャーブランチの全コミットが残る
Squash merge: フィーチャーブランチの変更を1コミットにまとめてマージ
→ ブランチが「残っている」ように見えるため
以前はworktreeが削除されなかった実践例
worktreeのクリーンアップ確認
bash
# 現在のworktreeリストを確認
git worktree list
# squash mergeされたPRに対応するworktreeが
# 自動的にクリーンアップされるようになりました大規模プロジェクトでの効果
多くのPRを並行処理するチームでは、定期的なworktreeの蓄積が問題になることがありましたが、この改善により自動的にディスクスペースが解放されます。
注意点
- Squash mergeの検出はGitHubのPR状態に基づいています
- ローカルのみのworktreeは自動クリーンアップの対象外です
- 手動で作成したworktreeは影響を受けません
pathパラメータで入ったworktreeはExitWorktree時に自動削除されません(2.1.105の新機能)