settings.json

baseRef

新しい作業ツリーをリモートのデフォルトブランチ(fresh)から作成するか、現在のローカルHEAD(head)から作成するかを選択します。

使い方・用途

  • サブエージェントの作業に、未プッシュのコミットや現在のブランチの状態を引き継がせたい場合に 'head' を指定します。
  • デフォルトではクリーンなリモートの状態から開始されますが、この設定により開発中のコンテキストを保ったまま作業を隔離できます。
英語原文(公式ドキュメントより)

Whether to branch worktrees from origin/<default> (fresh) or local HEAD (head). Default: fresh. Set to 'head' to preserve unpushed commits in new worktrees. See https://code.claude.com/docs/en/settings#worktree-settings

関連する変更履歴

v2.1.154(1件)

Fixed
リンクされたワークツリー内からサブエージェントを起動したりEnterWorktreeを呼び出したりした際、worktree.baseRef: "head"が現在のワークツリーのHEADではなく、メインチェックアウトのHEADを参照してしまう問題を修正しました。
英語原文を表示
Fixed worktree.baseRef: "head" resolving to the main checkout's HEAD instead of the current worktree's HEAD when spawning subagents or calling EnterWorktree from inside a linked worktree

変更前

既にワークツリーで作業している最中に「さらに別のワークツリー(サブエージェント用)」を作ると、現在の作業内容(コミット前の変更など)が含まれず、古いマスターの状態に戻ってしまうことがありました。

変更後

設定が"head"の場合、現在の作業コンテキストである現在のワークツリーのHEADを正しくベースとして新しいワークツリーが作られます。

ユーザーへの恩恵

複雑な機能を複数のブランチに分けて並行開発している際も、現在の修正内容を維持したままサブエージェントに作業を依頼できるようになります。

関連ドキュメント

v2.1.133(1件)

Added
worktree.baseRef 設定を追加し、作業ツリー作成時のブランチ元を origin/<default> かローカルの HEAD か選択可能になりました
英語原文を表示
Added worktree.baseRef setting (fresh | head) to choose whether --worktree, EnterWorktree, and agent-isolation worktrees branch from origin/<default> or local HEAD. **Note:** the default fresh changes EnterWorktree's base back to origin/<default> (it has been local HEAD since 2.1.128) — set worktree.baseRef: "head" to keep unpushed commits in new worktrees

変更前

新しい作業ツリー(worktree)を作成する際、ブランチの起点となるリファレンスがバージョンによって異なり、未プッシュのコミットが含まれない場合がありました。

変更後

worktree.baseRef 設定により、fresh(デフォルトのブランチ)または head(現在のローカルコミット)のどちらを起点にするか明示的に指定できます。

ユーザーへの恩恵

未プッシュの変更を作業ツリーに引き継ぎたい場合に head を指定することで、作業の中断や隔離をスムーズに行えるようになります。

関連ドキュメント