フォーク(ブランチ)コマンドとは
最近のアップデートで /fork コマンドから /branch という名前に変わりましたが、内容は同じです。フォークとは「コンテキストをコピーして分岐する」という意味です。
フォーク(fork)という名前の由来は、食器のフォークが枝分かれしていることから来ています。最近ブランチに名前が変わったのは、GitHubの「ブランチを切る」という用語に合わせたためと考えられます。
フォーク(ブランチ)の仕組み
例えば、メインコンテキストで作業していて、コンテキストの使用率が75%だったとします。ここで /fork(または /branch)コマンドを実行すると、使用率75%の状態をそのままコピーして、新しいセッションとして分岐します。
前のコンテキストを丸ごとコピーして、新しいセッションとして会話が進んでいく仕組みです。
どういう時に使うのか
会話の方向性を比較したいときに使います。例えば、Aという方向性とBという方向性の2パターンを検討したい場合、ブランチでセッションを切り替えて、それぞれ別のセッションで検討していくことができます。
ただし、実際にはあまり使う機会は多くありません。代替手段として以下の方法があります。
- 新しいターミナルを立ち上げて、新しくClaude Codeのメインコンテキストを起動する
/clearコマンドや/compactコマンドで圧縮してから同じメインコンテキストで始める- メインコンテキストとは別のコンテキストを使いたい場合はサブエージェントを使う
分岐元のセッションは残り続ける
フォークで分岐した後も、元のセッション(分岐B)はディスクに残り続けます。分岐Aで進めてみたものの微妙だった場合は、/resume コマンドでセッションを切り替えて元のセッションに戻ることができます。
Gitワークフローとの類似点
Gitを使ったことがある方であれば、Gitワークフローと非常に似た考え方です。メインで実装していくブランチ(コンテキスト)があり、途中で実験や方向性検討をしたい場合にブランチを切ります。
唯一の違いは、Gitではメインブランチとマージ(統合)することができますが、コンテキストエンジニアリングにおいてはマージができないという点です。
セッション名の管理
Claude Codeでは最初に実行した指示がセッション名になります。セッション名を変更したい場合は /rename コマンドを使います。
/rename セッション名
自分のわかりやすいようにセッション名を決めておくと、フォーク(ブランチ)で分岐した際に戻りやすくなりますし、/resume コマンドでも見つけやすくなります。
ブランチを切るときにも名前を決めてあげると管理しやすくなります。
/branch セッションブランチ1