Skip to content

原文(日本語に翻訳)

古いエージェント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の新機能)

関連情報